直角三角形の三辺の間には
x2 + y2 = z2
の関係が成立し、 この方程式を満たす自然数の組をピタゴラス数 (pythagorean triple) と呼び、方程式をピタゴラス方程式と呼びます。
一般のピタゴラス数を求めるには (x, y, z) に共通の素因子がない場合に求めれば十分です. (それ以外のピタゴラス数は倍数をとればよい. 例えば (3,4,5) から (6,8,10) などが得られる. ) このようなピタゴラス数を原始的と呼びます.
(x,y,z) が原始的であれば, x, y の一方が奇数でもう一方は偶数になります.
x, y のどちらも偶数とすると z も偶数となって、(x,y,z) が原始的であることに反します。 x, y のどちらも奇数とすると (2n + 1)2 = 4n (n+1) + 1 ですから、奇数の平方は 4 で割ると 1 余る数となります。従って、奇数の平方 2 個の和は 4 で割ると 2 余る数になります。これは平方数になりません。(奇数の平方は 4 で割ると 1 余る数、 偶数の平方は 4 で割り切れる数) よって、x, y の一方が奇数でもう一方が偶数です。
2 通りの方法で、整数解を求めることができます。
方法 1 : x を奇数とし, 方程式を
x2 = (z + y)(z - y)
の形に変形します. このとき z + y と z - y には共通因子がありません.
もしも素数 p が z - y と z + y を割りきれば, その和 2z とその差 2y を 割りきります. p は x の素因子ですから, 2 ではありません. よって p は z と y を共に割りきり, しかも x を割りきることになります. 以上から (x,y,z) が原始的であることに矛盾し, z - y と z + y には共通の素因子が ないことになります.
z + y と z - y には共通の素因子がなく、掛け合わせると平方数となるので、 z + y と z - y は共に平方数となります :
z + y = a2, z - y = b2
よって
z =(a2 + b2)/2, y =(a2 - b2)/2, x = ab 但し、a, b は共に奇数で a > b > 0, gcd(a, b) = 1
となりました。 (a,b のいずれか一方のみが偶数であれば (a2 + b2)/2 は整数になりません。 又、a,b のどちらも偶数であれば z が偶数となり矛盾します。) 次のようにして議論することもできます。
方法 2 : y が偶数であれば次のように変形できる。(z±x が偶数であることに注意)
(y/2)2 = ((z + x)/2)((z - x)/2)
方法 1 と同様にして、次が解であることがわかる。
z = a2 + b2, x = a2 - b2, y = 2ab 但し a, b の偶奇が異なり a > b > 0, gcd(a, b) = 1
(z は奇数ですから、a,b の一方のみが奇数です。)
方法 1 も方法 2 も基本的に同じです。 方法 1 は古代中国の『九章算術』にも書いてあるそうです ( 古代中国には文字式はありませんでしたが, 具体的数値 a,b に 関しての計算法が与えられていると考えてよい). また方法 2 はヘレニズム時代のディオファントスの 『算術』で利用されているそうです (文献 1)。 初等数論では方法 2 によって証明されるのが普通です。
さて上の証明では、z2 - y2 の因数分解をしています。 これは古代の人は計算できたのでしょうか ? これは実は簡単に出来ます。 問題としているのは次のように一辺の長さが z の正方形から一辺の長さが y の正方形を引いた残りの 図形の面積です。
今この図形から、下のように赤の部分を切り取り、緑の部分に持って行きます。すると 縦が z - y で横が z + y の長方形ができます。
これで z2 - y2 = (z - y)(z + y) が示されたことになります。 これは古代バビロニアで扱われていた方法です。類似の方法で次の等式も示すことができます。
x2 + y2 | = | 2xy + (x - y)2 |
4xy + (x - y)2 | = | (x + y)2 |
(x + y)2 + (x - y)2 | = | 2(x2 + y2) |
「ユークリッド原論」の「解説」には 第 2 巻にある式をこのように読み取ることができると書いてあります。