畢氏定理上的素數

 

畢氏數

從留言板網友 Patrick Lau 的留言中引發靈感,試看畢氏定理 (Pythagorean Theorem) 中的素數。

我們對畢氏定理相信不會感到陌生,也許它是我們所學的第一道定理。這畢氏定理在中國又名商高定理 (Soon Go Theorem) 或勾股定理。

相傳古希臘數學家畢達哥拉斯 (Pythagoras 約前 569 - 約前 475) 從直角三角形的地板中引發靈感,發現直角三角形的斜邊的平方正好是另外兩邊的平方和,即:

這顯淺而實用定理,我們在初中數學課定必接觸得到。若我們進一步規定式中的 a、b、c 均為正整數 (Positive Integer) ,這便是所謂的畢達哥拉斯數 (Pythagoras Numbers) 或畢達哥拉斯三重數 (Pythagorean Triple),簡稱畢氏數或勾股數。

這三數組中會否全為素數,答案是不會。

原來古希臘的數學家已知要使三整數 a、b、c 符合畢氏定理,那必須有兩數 u 和 v 使:

( a, b, c ) = (u2 - v2, 2uv, u2 + v2)

若要達至本原解 (Primitive Solution) 即 GCD ( a, b, c ) = 1,我們必須要求 u > v 、GCD(u, v) = 1及 u、v 為一奇一偶。

那麼 2uv 必為偶數且不等於 2 ,當然找不到全素數的解了。

退一步,那 u2 - v2 以及 u2 + v2 都是素數,又可以嗎?

我們知道 u2 - v2 = (u - v) (u + v),要使 u2 - v2 為素數只有使 u - v = 1 及 u + v 為素數。

如取 u = 3 及 v = 2,我們有 (5,12,13) 這一組合,組合中的 5 和 13 均為素數。

又如取 u = 6 及 v = 5,我們有 (11, 60, 61) 這一組合,又找到 11 和 61 兩素數了。

會不會有例外?留給大家想一想吧,計一計吧。

 

同餘的智慧

當然不會這樣簡單吧。若取 u = 9 及 v = 8,我們有 u2 - v2 = 17,這是一素數,但 u2 + v2 = 145,不是素數。

其實我們了解 u - v = 1 及 u + v 為素數只是其中一條件,若要使 u2 + v2 為素數,我們還得一些要求,這是什麼,用一丁點同餘的知識便可知。

設 v = u - 1 , u2 + v2 = u2 + (u-1)2 = 2u2 - 2u + 1

若要使 u2 + v2 為一素數,即要使 u2 + v2 不等於任何素數的倍數。

即在任何素數模 p 下, 2u2 - 2u + 1 均不等於零。

故我們考慮使 2u2 - 2u + 1 = 0 (mod p) 的數值,把之挑起。

2u2 - 2u + 1 = 0 (mod p) => 2u(u-1) = -1 (mod p)

我們只需考慮 f(u) = 2u(u-1) 在什麼情況會有 f(u) = -1 (mod p)。

 

其實 p 不可為 2 ,因在模 2 以下 2u(u-1) �甯偎s。

而 u 不可為 0 或 1,因這也�甯偎s。

再加上 f(u) 和 f(p+1-u) 的數值是相同,此等都減少了我們測試之數目。

 

下表給出一些 p 和 u 的數值使 f(u) = -1 (mod p) 及相關的畢氏數及其分解式。

p
u (mod p)
u 的例子
u2 - v2
u2 + v2
u2 + v2 的素因子分解式
5
2
7
13
85
5*17
4
9
17
145
5*29
13
3
16
31
481
13*37
11
115
229
26221
13*2017
17
7
75
149
11101
17*653
11
45
89
3961

17*233

當然例子不此上述三組,還有很多。

順帶一提,因令 u - v = 1 所以我們有

u2 + v2 - 2uv = (u - v)2 = 1

即 u2 + v2 比 2uv 多 1 而已,這種三數中有兩數相差一的情況,我們稱作孿生畢氏數 (Twin Pythagoras Numbers)。

 

 

Hosted by www.Geocities.ws

1