1. 程式人生 > >看完這個,你還認為自己懂勾股定理嗎?

看完這個,你還認為自己懂勾股定理嗎?

(注:文中涉及到一些邏輯推導,普通讀者可以略過,這並不影響對結論的理解。自認為思維能力強的讀者可以通篇閱讀)

我們從初中,甚至小學就聽說過勾股定理,也能很輕易的舉出幾個例子,比如:公元前十一世紀,周朝數學家商高就提出“勾三、股四、弦五”,這也是在中國古代歷史上眾所周知的一些數學成就中的一個,因此許多人把它當做是中國的驕傲。勾股定理的具體定義為:直角三角形兩直角邊的平方和等於斜邊的平方


其實,在公元前約三千年的古巴比倫人就知道和應用勾股定理,他們還知道許多勾股陣列。美國哥倫比亞大學圖書館內收藏著一塊編號為“普林頓322”的古巴比倫泥板,上面就記載了很多勾股陣列。(3, 4, 5)就是最簡單的一個勾股陣列。

雖然古巴比倫和中國在很早就發現並應用了勾股定理,但是這個定理直到公元前六世紀才被希臘數學家畢達哥拉斯所證明,因而在數學界這個定理稱為畢達哥拉斯定理(Pythagorean Theorem),勾股陣列也稱為畢達哥拉斯三元陣列(Pythagoream Triples)。這充分說明了數學重在邏輯的嚴謹性,而不是其應用性。下面我們將使用數學界公認的名字來敘述它。


畢達哥拉斯像

我們知道(3, 4, 5)和(5, 12, 13)都是畢達哥拉斯三元陣列,那麼還有沒有其他的畢達哥拉斯三元陣列呢?

如果將(3, 4, 5)中的每一個都乘以一個相同的正整數k,顯然有

由此可知(3k, 4k, 5k)同樣也是一個畢達哥拉斯三元陣列。由於k可以是任意的正整數,因此我們可以說畢達哥拉斯三元陣列有無窮多個。但是,我們知道,這樣的(3k, 4k, 5k)與(3, 4, 5)本質上沒有什麼區別,以它們為邊的直角三角形是相似的,找到再多也沒有多大的意義。我們要找的是沒有公因子的三元陣列,即

素畢達哥拉斯三元陣列那麼是否存在無窮多個沒有公因子的三原陣列呢?通過下面的討論,不僅可以知道答案是肯定的,而且還能總結出一個能夠得到所有素畢達哥拉斯三元陣列的方法。

下表中列出了幾個素畢達哥拉斯三元陣列:

(3, 4, 5)

(5, 12, 13)

(15, 8, 17)

(21, 20, 29)

(35, 12, 37)

...

從中可以看出,最後一個都是奇數,前兩個中,一個是奇數,一個是偶數。讓我們來簡單的分析一下這是不是一定成立。

令(a, b, c)是一個素畢達哥拉斯三元陣列。如果a與b都為偶數,那麼c也是偶數。這樣a、b和c有公因子2,這與(a, b, c)是一個素畢達哥拉斯三元陣列相矛盾。

如果a與b都為奇數,那麼c為偶數。這意味著存在正整數x、y和z,使

將之代入 ,得到


上式除以2,得


最後的等式表明一個奇數等於一個偶數,這是不可能的,所以a與b不能同時是奇數。

我們知道a與b一個為奇,一個為偶。由此,c必定為奇數。

到此,如果(a, b, c)是一個素畢達哥拉斯三元陣列,那麼c一定是奇數,a與b一個為奇數,一個為偶數

考慮的因式分解


 根據前面的例子,我們讓a始終為奇數、b為偶數,則有以下等式






...

我們看到,在上面幾個例子中,等式最右邊的兩個數都是平方數(某個整數的平方)。那是不是所有的(c + b)和(c - b)都是平方數呢?下面我們來看看這個結論是否成立。

首先我們要證明(c + b)與(c - b)沒有公因子

不妨假設(c + b)和(c - b)有公因子p,則p能整除以下兩個等式


即p能整除2c和2b。但是c和b沒有公因子,因為(a, b, c)是素畢達哥拉斯三元陣列。因此,p只能整除1或者2。但是p能整除,而a為奇數,所以p只能整除1,即p = 1。這就證明了(c + b)與(c - b)沒有公因子。

再者,令p是a的一個素數因子,則整除,根據上面的討論,只能整除(c + b)和(c - b)中的一個。對於a的所有素數因子,有


適當交換順序,則存在使



於是,我們可以得出結論:如果(a, b, c)是一個素畢達哥拉斯三元陣列,那麼(c + b)與(c - b)是一定都是平方數這樣,我們能把(c + b)和(c - b)寫成

其中,s和t是互素的奇數。我們得到




考慮三原陣列

如果p是這三個數的公因子,則p顯然整除後兩個數的和,同樣整除後兩個數的差,從而p整除s且p整除t。而根據假設,s和t互素,所以p = 1,因而此三元陣列中的數互素。再者,進過簡單計算可知以下等式成立

討論進行到這裡,我們終於得出了最終的結論:如果s和t是互素的奇數,且,那麼a、b和c:


組成一個素畢達哥拉斯三元陣列(a, b, c)

這樣,我們得到了一個找出所有滿足素畢達哥拉斯三元陣列(a, b, c)的一般方法。

現在我們應用這個方法來找出一組(a, b, c)。令s = 9,t = 11,則

讀者可以自行驗證一下等式:是否成立。

注:我們特意準備了1000組這樣的三元數,有興趣的讀者請掃描下方二維碼關注本公眾號,然後回覆“三元數”進行檢視。

“什麼是數學”公眾號的使命,就是和大家一起重新認識數學,瞭解數學的思想和方法。長按下方二維碼,即可關注“什麼是數學”公眾號。