next up previous
下一頁: Fermat's Last Theorem 上一頁: Pythagorean Triple 和 Fermat's 前一頁: Pythagorean Triple 和 Fermat's

Pythagorean Triples

我們希望能找到所有的 Pythagorean triples. 不過若沒有限制條件要找到所有的解實在有點困難, 更何況有些 Pythagorean triple 其實是從某些 Pythagorean triple 輕易得到的. 因此我們希望找的 Pythagorean triples 雖然有限制條件但希望都能由這些 Pythagorean triples 得到所有可能的 Pythagorean triples. 該多加哪些限制能達到這個目的呢? 例如我們可以僅考慮 x2 + y2 = z2 的正整數解. 這是因為一來若 x = 0 或 y = 0 那麼 x2 = z2y2 = z2 這樣的 Diophantine equation 根本沒有意思; 再來其他的負整數解都可以輕鬆地由正整數解得到, 所以僅考慮正整數解就足以表達所有的解.

類似的思考方向, 我們也可很輕易的從 x2 + y2 = z2 的一組正整數解得到無窮多組正整數解. 例如 x = 3, y = 4, z = 5 是一組正整數解, 因此可得對任意 $ \lambda$ $ \in$ $ \mathbb {N}$, x = 3$ \lambda$, y = 4$ \lambda$, z = 5$ \lambda$ 也是一組正整數解. 所以我們知有無窮多組 Pythagorean triples. 不過這樣所得的 Pythagorean triple 對我們來說是沒多大興趣的. 我們比較有興趣的是一組 Pythagorean triple ``原始''是來自哪個 Pythagorean triple. 也就是我們有興趣於那些最大公因數為 1 的 Pythagorean triple. 事實上任一組 Pythagorean triple 都是來自於某一組最大公因數為 1 的 Pythagorean triple. 這是因為若 x = a, y = b, z = c 是一組 Pythagorean triple 且 gcd(a, b, c) = d, 則存在 a', b'c' $ \in$ $ \mathbb {N}$ 使得 a = da', b = db', c = dc' gcd(a', b', c') = 1. 另一方面由於 a2 + b2 = c2 可得 a'2 + b'2 = c'2, 所以 x = a', y = b', z = c' 就是一組最大公因數為 1 的 Pythagorean triple. 因此我們只要專注於最大公因數為 1 的 Pythagorean triple 即可.

最後我們發現若 x = a, y = b, z = c 是一組最大公因數為 1 的 Pythagorean triple, 當然 x = b, y = a, z = c 也是一組最大公因數為 1 的 Pythagorean triple, 也就是說藉由交換 x, y 的順序所得的解也沒多大意思. 所以我們想找一個方法僅考慮一組 x, y 的順序即可. 例如我們可僅考慮 x > y 的情形. 不過這樣的限制對我們找解沒有多大的幫助. 我們可以考慮另一種限制. 首先注意最大公因數的限制使得我們的 Pythagorean triple 其 x, y 的值不能同為偶數, 否則由 z2 = x2 + y2z 必為偶數, 造成 x, y, z 的最大公因數會大於等於 2. 另一方面 x, y 的值也不能同為奇數. 這是因為若 x, y 皆為奇數, 則 x2 $ \equiv$ y2 $ \equiv$ 1(mod 4). 因此會造成 x2 + y2 $ \equiv$ 2(mod 4), 然而 x2 + y2 是偶數, 故由 z2 = x2 + y2z 為偶數. 也就是說 z2 $ \equiv$ 0(mod 4). 這會造成

0 $\displaystyle \equiv$ z2 $\displaystyle \equiv$ x2 + y2 $\displaystyle \equiv$ 2(mod 4)

的矛盾. 因此若我們要求的 Pythagorean triple 其最大公因數是 1, 則 xy 必一奇一偶. 所以我們可以考慮限制我們的 Pythagorean triple 其 x 值為奇數而 y 值為偶數. 我們給有這些限制的 Pythagorean triples 一個特別的名字.

Definition 7.2.1   假設 a, b, c $ \in$ $ \mathbb {N}$ 滿足 a2 + b2 = c2 gcd(a, b, c) = 1 又 a 為奇數而 b 為偶數, 則稱 a, b, c 為一個 primitive Pythagorean triple.

我們希望能找到所有的 primitive Pythagorean triples. 事實上 primitive Pythagorean triples 會有無窮多個, 所以這裡指的找到並不是將所有的 primitive Pythagorean triples 都列出, 我們是要找到一個方法將所有的 primitive Pythagorean triples 表示出來.

Theorem 7.2.2   給定任一組 primitive Pythagorean triple x, y, z 皆存在一組 m, n $ \in$ $ \mathbb {N}$ 其中 m > n, gcd(m, n) = 1 且 m, n 中有一個是奇數一個是偶數使得

x = m2 - n2,    y = 2mn,    z = m2 + n2.

反之對任意一組 m, n $ \in$ $ \mathbb {N}$ 滿足 m > n, gcd(m, n) = 1 且 m, n 中有一個是奇數一個是偶數, 若令 x = m2 - n2, y = 2mn z = m2 + n2, 則 x, y, z 為一組 primitive Pythagorean triple.

証 明. 假設 x, y, z 是一組 primitive Pythagorean triple. 由於 x2 + y2 = z2, 我們得 y2 = (z + x)(z - x). 依定義 y 是偶數而 x, z 是奇數, 所以 y/2,(z + x)/2 和 (z - x)/2 皆為正整數且 (y/2)2 = ((z + x)/2)((z - x)/2). 注意此時 (z + x)/2 和 (z - x)/2 互質. 要不然會有一質數 p 為 (z + x)/2 和 (z - x)/2 的公因數, 因而得 p (z + x)/2 + (z - x)/2 = z (z + x)/2 - (z - x)/2 = x 的公因數. 如此會造成 p| y2 = z2 - x2, 即 p| y, 因而與 gcd(x, y, z) = 1 相矛盾.

既然 (z + x)/2 和 (z - x)/2 互質, 故由 (y/2)2 = ((z + x)/2)((z - x)/2) 可得 (z + x)/2 和 (z - x)/2 皆為某個整數之平方, 亦即存在 m, n $ \in$ $ \mathbb {N}$ 使得 m2 = (z + x)/2 及 n2 = (z - x)/2. 此時我們得

x = m2 - n2,    y = 2mn,    z = m2 + n2.

至於 mn, 由於 x > 0, 即 m2 - n2 > 0, 故知 m > n. 又因為 (z + x)/2 和 (z - x)/2 互質, 即 gcd(m2, n2) = 1, 我們得 gcd(m, n) = 1. 最後依定義 x = m2 - n2 是奇數, 故知 mn 中有一個是奇數一個是偶數.

反之對任意一組 m, n $ \in$ $ \mathbb {N}$ 滿足 m > n, gcd(m, n) = 1 且 m, n 中有一個是奇數一個是偶數, 若令 x = m2 - n2, y = 2mn z = m2 + n2, 則自然知 x, y, z $ \in$ $ \mathbb {N}$ x2 + y2 = z2, 也就是說 x, y, z 是一組 Pythagorean triple. 因此我們僅剩下要說明它們是 primitive, 即 gcd(x, y, z) = 1, x 為奇數且 y 為偶數. 依定義 y = 2mn 所以 y 當然是偶數, 而 m, n 中一個是奇數一個是偶數所以 x = m2 - n2 當然是奇數. 至於 gcd(x, y, z) = 1 是因為如果 gcd(x, y, z) > 1, 則 gcd(x, y, z) 必為奇數 (因為已知 x 是奇數) 所以存在一奇質數 px, y, z 的公因數. 因為 p 整除 z + x = 2m2p 整除 z - x = 2n2 又因為 p 為奇質數, 我們得 p| mp| n. 此與 m, n 互質的假設相矛盾, 故知 gcd(x, y, z) = 1. $ \qedsymbol$

Theorem 7.2.2 告訴我們每一個 primitive Pythagorean triple 都可由一組一奇一偶且互質的正整數 m, n 得到, 而且每給一組這樣的正整數就可得一組 primitive Pythagorean triple. 雖然我們可以輕易的找到無窮多組這樣的 m, n 但這並不表示可以產生無窮多組 primitive Pythagorean triples, 除非我們知道不同的一組 m, n 可產生不同的 Pythagorean triple. 事實上若 m, nm', n' 是兩組一奇一偶且互質的正整數其中 m > nm' > n', 假設 m, nm', n' 產生一樣的 primitive Pythagorean triple. 亦即 m2 - n2 = m'2 - n'2 m2 + n2 = m'2 + n'2. 將兩式相加可得 2m2 = 2m'2, 故由 m, m' 皆為正整數得 m = m'. 同理得 n = n'. 因此我們有以下之結果.

Corollary 7.2.3   存在無窮多組 primitive Pythagorean triple. 事實上對任意的一組 primitive Pythagorean triple 皆存在唯一的一組 m, n $ \in$ $ \mathbb {N}$ 其中 m > n, gcd(m, n) = 1 且 m, n 中有一個是奇數一個是偶數使得 x = m2 - n2,    y = 2mn,    z = m2 + n2.


next up previous
下一頁: Fermat's Last Theorem 上一頁: Pythagorean Triple 和 Fermat's 前一頁: Pythagorean Triple 和 Fermat's
Li 2007-07-12