ピタゴラス数

同義語:Pythagorean tripleピタゴラスの三つ組

概要

ピタゴラス数(Pythagorean triple)とは、$a^2+b^2=c^2$ を満たす正の整数の組 $(a,b,c)$ のことであり、3 辺がすべて整数の直角三角形の辺の組にあたる。$(3,4,5)$、$(5,12,13)$、$(8,15,17)$ が例である。$a,b,c$ の最大公約数が $1$ のものを原始的といい、すべてのピタゴラス数は原始的なものの整数倍である。$b$ が偶数の原始的なピタゴラス数は、$m>n>0$ が互いに素で偶奇が異なる整数 $m,n$ によって $(m^2-n^2,\,2mn,\,m^2+n^2)$ と一意に表される。これは単位円上の有理点を点 $(-1,0)$ を通る有理数の傾きの直線で求めることと同じである。応用として、$x^4+y^4=z^2$ が正の整数解をもたないことが無限降下法で示される。

$$\newcommand{C}[0]{\mathbb{C}} \newcommand{N}[0]{\mathbb{N}} \newcommand{Q}[0]{\mathbb{Q}} \newcommand{R}[0]{\mathbb{R}} \newcommand{Z}[0]{\mathbb{Z}} $$

前提知識: 三平方の定理, 互いに素, 最大公約数, 平方数

定義

辺の長さが $3,4,5$ の三角形は、$3^2+4^2=9+16=25=5^2$ なので直角三角形である(三平方の定理の逆)。同じように $5^2+12^2=169=13^2$、$8^2+15^2=289=17^2$、$20^2+21^2=841=29^2$ で、3 辺がすべて整数の直角三角形はいくらでも見つかる。一方、$(6,8,10)$ も $36+64=100$ を満たすが、これは $(3,4,5)$ を 2 倍しただけで、新しい形の三角形ではない。このような整数の組をすべて書き出す公式があり(thm-pyth-triple-classification)、たとえば $m=2,n=1$ から $(3,4,5)$、$m=3,n=2$ から $(5,12,13)$、$m=4,n=1$ から $(15,8,17)$ が、$(m^2-n^2,\,2mn,\,m^2+n^2)$ という式で得られる。

ピタゴラス数と原始的な組

正の整数の組 $(a,b,c)$ が
$$ a^2+b^2=c^2 $$
を満たすとき、$(a,b,c)$ をピタゴラス数(Pythagorean triple)という。さらに $a,b,c$ の最大公約数が $1$ であるとき、原始的(primitive)なピタゴラス数という。

$(a,b,c)$ がピタゴラス数なら $(b,a,c)$ もそうであり、両者は同じ直角三角形の脚の順番を入れ替えただけである。また $c$ はつねに最大で、$a< c$、$b< c$ である。文献によっては $0$ や負の整数を許すこともあるが、本記事では正の整数に限る。

直感

ピタゴラス数 $(a,b,c)$ の各成分を $c$ で割ると、$(a/c)^2+(b/c)^2=1$ となる。つまりピタゴラス数は、単位円 $x^2+y^2=1$ の上の、座標がともに正の有理数である点と対応している。単位円上の有理点は、点 $(-1,0)$ を通る傾き $t$ の直線を引き、単位円ともう一度交わる点を求めることで、有理数 $t$ で漏れなくパラメータ付けできる(prop-pyth-triple-rational-points)。整数の問題を、図形の上の点の問題に言い換えて解くのである。
代数的には、$b^2=c^2-a^2=(c-a)(c+a)$ という因数分解が鍵になる。右辺の 2 つの因子が(2 を除いて)互いに素なので、それぞれがほぼ平方数でなければならず、そこから一般の形が決まる(prf-pyth-triple-classification)。

例と反例

斜辺が50以下のピタゴラス数

$a< b$ として、斜辺 $c\leq50$ の原始的なピタゴラス数は次の 7 組である(括弧内は thm-pyth-triple-classification のパラメータ $(m,n)$)。
$$ (3,4,5)\ (2,1),\quad(5,12,13)\ (3,2),\quad(8,15,17)\ (4,1),\quad(7,24,25)\ (4,3), $$
$$ (20,21,29)\ (5,2),\quad(12,35,37)\ (6,1),\quad(9,40,41)\ (5,4). $$
これらの定数倍 $(6,8,10)$、$(9,12,15)$、$(12,16,20)$、$(15,20,25)$、$(10,24,26)$ なども含めると、$a< b$、$c\leq50$ のピタゴラス数は全部で 20 組ある。

反例:原始的でない組と、脚が等しい直角三角形

$(6,8,10)$ はピタゴラス数だが、$6,8,10$ はすべて $2$ で割り切れるので、「最大公約数が $1$」を満たさず原始的でない。thm-pyth-triple-classification は原始的な組についての主張であり、実際 $(6,8,10)$ は $m^2+n^2=10$ を満たす $(m,n)=(3,1)$ から得られる $(8,6,10)$ の脚を入れ替えたものだが、$3$ と $1$ はともに奇数で、定理の条件「$m,n$ の偶奇が異なる」を満たさない。
脚の長さが等しい直角三角形(直角二等辺三角形)の 3 辺は、どう縮尺を選んでもピタゴラス数にならない。$a^2+a^2=c^2$ なら $(c/a)^2=2$ となるが、$\sqrt2$ は無理数なので、$c/a$ は有理数になりえないからである。この三角形は「直角三角形である」は満たすが、「3 辺の比が整数比」を満たさない。

性質

原始的な組への帰着

原始的な組と互いに素

$(a,b,c)$ をピタゴラス数とする。

  1. $d:=\gcd(a,b,c)$ とおくと、$(a/d,\,b/d,\,c/d)$ は原始的なピタゴラス数である。したがって、すべてのピタゴラス数は原始的なピタゴラス数の正の整数倍として一意に書ける。
  2. 次は同値である:$(a,b,c)$ が原始的である;$\gcd(a,b)=1$;$a,b,c$ のどの 2 つも互いに素である。
共通の素因数の伝播

1:$a=da'$、$b=db'$、$c=dc'$ と書くと $d^2(a'^2+b'^2)=d^2c'^2$ なので $(a',b',c')$ はピタゴラス数であり、$\gcd(a',b',c')=1$ である。$(a,b,c)=k(a'',b'',c'')$($(a'',b'',c'')$ は原始的)と書けたとすると、$k=\gcd(a,b,c)=d$ でなければならないので、表し方は一意である。
2:どの 2 つも互いに素なら $\gcd(a,b)=1$ であり、$\gcd(a,b)=1$ なら $\gcd(a,b,c)=1$ である。残りは「原始的ならどの 2 つも互いに素」を示せばよい。素数 $p$ が $a$ と $b$ を割り切るなら $p^2\mid a^2+b^2=c^2$ なので $p\mid c$ である(素数の記事の補題「Euclidの補題」)。$p$ が $a$ と $c$ を割り切るなら $p\mid c^2-a^2=b^2$ なので $p\mid b$ であり、$b$ と $c$ についても同様である。いずれの場合も $p$ は $a,b,c$ の公約数になり、原始的であることに反する。

偶奇と平方数の補題

原始的な組の偶奇

$(a,b,c)$ が原始的なピタゴラス数ならば、$c$ は奇数であり、$a$ と $b$ のちょうど一方が偶数である。

4で割った余り

prop-pyth-triple-coprime により $a$ と $b$ は互いに素なので、両方が偶数ではない。両方が奇数だとすると、奇数の平方は $4$ で割って $1$ 余るので $c^2=a^2+b^2\equiv2\pmod4$ となるが、平方数を $4$ で割った余りは $0$ か $1$ である(平方数の記事の命題「平方数の法 4・法 8 での剰余」)から矛盾する。よって $a,b$ のちょうど一方が偶数で、$c^2=a^2+b^2$ は奇数、$c$ も奇数である。

互いに素な数の積が平方数である場合

$u_1,\dots,u_k$ をどの 2 つも互いに素な正の整数とする。積 $u_1\cdots u_k$ が平方数ならば、各 $u_i$ も平方数である。

素因数の指数

素数 $p$ を 1 つとる。どの 2 つも互いに素なので、$p$ は $u_1,\dots,u_k$ のうち高々 1 つしか割り切らない。$p$ が $u_i$ を割り切るなら、$u_i$ の素因数分解における $p$ の指数は積 $u_1\cdots u_k$ における $p$ の指数に等しく、積が平方数なのでそれは偶数である。よって各 $u_i$ の素因数分解における指数はすべて偶数であり、$u_i$ は平方数である(平方数の記事の命題「素因数の指数による特徴づけ」)。

分類定理

原始ピタゴラス数の分類

正の整数の組 $(a,b,c)$ が、$b$ が偶数であるような原始的なピタゴラス数であるための必要十分条件は、
$$ m>n>0,\qquad \gcd(m,n)=1,\qquad m\not\equiv n\pmod 2 $$
を満たす整数 $m,n$ によって
$$ a=m^2-n^2,\qquad b=2mn,\qquad c=m^2+n^2 $$
と書けることである。このとき $(m,n)$ は $(a,b,c)$ から一意に定まる。

平方数の差の因数分解

十分性:恒等式
$$ (m^2-n^2)^2+(2mn)^2=m^4-2m^2n^2+n^4+4m^2n^2=(m^2+n^2)^2 $$
と $m>n>0$ から、$(a,b,c)$ は正の整数の組でピタゴラス数であり、$b=2mn$ は偶数である。$m,n$ の偶奇が異なるので $a=m^2-n^2$ は奇数である。素数 $p$ が $a$ と $c$ を割り切るとすると、$p$ は奇数で、$c+a=2m^2$ と $c-a=2n^2$ を割り切るので $p\mid m^2$、$p\mid n^2$、したがって $p\mid m$、$p\mid n$ となり $\gcd(m,n)=1$ に反する。よって $\gcd(a,c)=1$ であり、$(a,b,c)$ は原始的である(prop-pyth-triple-coprime)。
必要性:$(a,b,c)$ を $b$ が偶数の原始的なピタゴラス数とする。lem-pyth-triple-parity により $a$ と $c$ は奇数である。
$$ b^2=c^2-a^2=(c-a)(c+a) $$
で、$c-a$、$c+a$ はともに正の偶数なので、$u:=(c-a)/2$、$v:=(c+a)/2$ は正の整数であり、$(b/2)^2=uv$ である。$u$ と $v$ の公約数 $d$ は $u+v=c$ と $v-u=a$ を割り切り、$\gcd(a,c)=1$ なので $d=1$ である。lem-pyth-triple-square-product により $u=n^2$、$v=m^2$ となる正の整数 $m,n$ がある。すると
$$ c=v+u=m^2+n^2,\qquad a=v-u=m^2-n^2,\qquad b=2\sqrt{uv}=2mn $$
である。$a>0$ から $m>n$ であり、$m,n$ の公約数は $u,v$ の公約数なので $\gcd(m,n)=1$ である。$c=m^2+n^2$ が奇数なので $m,n$ の偶奇は異なる。
一意性:$m^2=(c+a)/2$、$n^2=(c-a)/2$ であり、$m,n>0$ なので $m,n$ は $(a,b,c)$ から決まる。

lem-pyth-triple-parity により原始的なピタゴラス数では脚のちょうど一方が偶数なので、必要なら脚を入れ替えて定理を適用できる。prop-pyth-triple-coprime と合わせると、すべてのピタゴラス数が求まる。

すべてのピタゴラス数の表示

ピタゴラス数 $(a,b,c)$ は、必要なら $a$ と $b$ を入れ替えると、正の整数 $k$ と thm-pyth-triple-classification の条件を満たす $m,n$ によって
$$ (a,b,c)=\bigl(k(m^2-n^2),\ 2kmn,\ k(m^2+n^2)\bigr) $$
と書ける。

原始的な部分への分類定理の適用

prop-pyth-triple-coprime により $(a,b,c)=k(a',b',c')$($k=\gcd(a,b,c)$、$(a',b',c')$ は原始的)と書ける。lem-pyth-triple-parity により $a',b'$ の一方だけが偶数なので、必要なら $a$ と $b$ を入れ替えて $b'$ を偶数にし、thm-pyth-triple-classification を $(a',b',c')$ に適用すればよい。

単位円上の有理点

単位円上の有理点のパラメータ付け

単位円 $x^2+y^2=1$ の上で、座標がともに有理数である点全体は、点 $(-1,0)$ と
$$ \left(\frac{1-t^2}{1+t^2},\ \frac{2t}{1+t^2}\right)\qquad(t\in\mathbb{Q}) $$
の全体からなる。さらに $t$ とこの点の対応は、$\mathbb{Q}$ から「単位円上の有理点のうち $(-1,0)$ 以外のもの」全体への全単射である。

点(-1,0)を通る直線

$t\in\mathbb{Q}$ に対して上の点の座標は有理数であり、
$$ (1-t^2)^2+(2t)^2=1+2t^2+t^4=(1+t^2)^2 $$
から単位円上にある。$x$ 座標は $-1+\frac{2}{1+t^2}>-1$ なので、この点は $(-1,0)$ ではない。
逆に $(x,y)$ を $(-1,0)$ 以外の単位円上の有理点とする。$x=-1$ なら $y^2=0$ で $(x,y)=(-1,0)$ となるので $x\neq-1$ であり、$t:=y/(x+1)$ は有理数である。$y=t(x+1)$ を $x^2+y^2=1$ に代入すると
$$ x^2-1+t^2(x+1)^2=(x+1)\bigl((x-1)+t^2(x+1)\bigr)=0 $$
で、$x+1\neq0$ なので $x(1+t^2)=1-t^2$、すなわち $x=\frac{1-t^2}{1+t^2}$、$y=t(x+1)=\frac{2t}{1+t^2}$ である。この計算は $(x,y)$ から $t=y/(x+1)$ が一意に決まり、その $t$ から $(x,y)$ が戻ることを示しているので、対応は全単射である。

ピタゴラス数 $(a,b,c)$ からは第 1 象限の有理点 $(a/c,\,b/c)$ が得られ、その点に対応する $t$ は $t=b/(a+c)$ である。thm-pyth-triple-classification の形の原始的な組では $t=2mn/(2m^2)=n/m$ となる。たとえば $t=1/2$ は点 $(3/5,4/5)$ と $(3,4,5)$ に、$t=2/3$ は点 $(5/13,12/13)$ と $(5,12,13)$ に対応する。$t=1/3$ のように既約分数の分母と分子がともに奇数の場合は、点 $(4/5,3/5)$ が得られ、脚を入れ替えた $(4,3,5)$ に対応する。この幾何学的な方法は Clark の講義ノートの第 2 章 §1(Theorem 2.1、pp. 35–39)Cla に従っている。

約数に関する性質

3・4・5による整除性

ピタゴラス数 $(a,b,c)$ について、$ab$ は $12$ で割り切れ、$abc$ は $60$ で割り切れる。特に直角三角形の面積 $ab/2$ は $6$ の倍数である。

平方数の剰余

$3$ について:平方数を $3$ で割った余りは $0$ か $1$ である($(3k\pm1)^2=3(3k^2\pm2k)+1$)。$a,b$ がどちらも $3$ で割り切れないと $c^2=a^2+b^2\equiv2\pmod3$ となり矛盾する。よって $3\mid ab$ である。
$4$ について:$(a,b,c)=k(a',b',c')$ と原始的な組の倍数に書き、必要なら入れ替えて $b'$ を偶数にする。thm-pyth-triple-classification により $b'=2mn$ で、$m,n$ の一方は偶数なので $4\mid b'$ であり、$ab=k^2a'b'$ は $4$ で割り切れる。$3$ と $4$ は互いに素なので $12\mid ab$ である。
$5$ について:平方数を $5$ で割った余りは $0,1,4$ のいずれかである($(5k\pm1)^2\equiv1$、$(5k\pm2)^2\equiv4$)。$a,b,c$ がどれも $5$ で割り切れないとすると、$a^2+b^2$ の余りは $1+1=2$、$1+4=5\equiv0$、$4+4=8\equiv3$ のいずれかで、$c^2$ の余り $1$ か $4$ と一致しない。よって $5\mid abc$ であり、$12$ と $5$ は互いに素なので $60\mid abc$ である。

$(3,4,5)$ では $ab=12$、$abc=60$ で、上の $12$ と $60$ はこれ以上大きくできない。

斜辺になる素数

奇素数 $p$ が、あるピタゴラス数 $(a,b,p)$ の斜辺になるための必要十分条件は、$p\equiv1\pmod4$ であることである。

Fermatの二平方定理への帰着

$(a,b,p)$ がピタゴラス数なら、$\gcd(a,b,p)$ は $p$ の約数で、$p$ だとすると $a,b\geq p$ となって $a^2+b^2>p^2$ となるから $1$ であり、$(a,b,p)$ は原始的である。thm-pyth-triple-classification により(必要なら脚を入れ替えて)$p=m^2+n^2$ で、$m,n$ の偶奇が異なる。偶数の平方は $4$ で割り切れ、奇数の平方は $4$ で割って $1$ 余るので、$p\equiv1\pmod4$ である。
逆に $p\equiv1\pmod4$ とすると、Fermatの二平方定理により $p=m^2+n^2$ となる正の整数 $m,n$ がある。$p$ は奇数なので $m\neq n$ であり、$m>n$ としてよい。$m,n$ の公約数 $d$ は $d^2\mid p$ を満たすので $d=1$、$p$ が奇数なので $m,n$ の偶奇は異なる。thm-pyth-triple-classification により $(m^2-n^2,\,2mn,\,p)$ はピタゴラス数である。

斜辺が13・65の場合と、7が斜辺にならないこと

$13=3^2+2^2$ から $(m,n)=(3,2)$ として $(5,12,13)$ が得られる。$100$ 未満の素数で斜辺になるのは $5,13,17,29,37,41,53,61,73,89,97$ で、ちょうど $4$ で割って $1$ 余る素数である。$7\equiv3\pmod4$ は斜辺にならない。
合成数 $65=5\cdot13$ は $65=8^2+1^2=7^2+4^2$ と 2 通りに 2 つの平方数の和で書け、$(m,n)=(8,1)$ から $(63,16,65)$、$(m,n)=(7,4)$ から $(33,56,65)$ という 2 つの原始的なピタゴラス数の斜辺になる。

4乗の和への応用

分類定理を 2 回使うと、次の Fermat の定理が無限降下法で証明できる。

4乗数の和は平方数にならない

$x^4+y^4=z^2$ を満たす正の整数 $x,y,z$ は存在しない。

最小の解からより小さい解を作る

正の整数解があると仮定し、その中で $z$ が最小のものを $(x,y,z)$ とする。
段階 1:$\gcd(x,y)=1$ である。実際、素数 $p$ が $x,y$ を割り切るなら $p^4\mid z^2$ なので $p^2\mid z$ であり、$(x/p,\,y/p,\,z/p^2)$ はより小さい $z$ をもつ解になって最小性に反する。
段階 2:$(x^2,y^2,z)$ はピタゴラス数であり、$\gcd(x^2,y^2)=1$ なので原始的である(prop-pyth-triple-coprime)。lem-pyth-triple-parity により $x,y$ の一方だけが偶数なので、入れ替えて $y$ を偶数、$x$ を奇数としてよい。thm-pyth-triple-classification により
$$ x^2=m^2-n^2,\qquad y^2=2mn,\qquad z=m^2+n^2 $$
($m>n>0$、$\gcd(m,n)=1$、偶奇が異なる)と書ける。
段階 3:$x^2+n^2=m^2$ なので $(x,n,m)$ はピタゴラス数で、$\gcd(n,m)=1$ から原始的である。$x$ は奇数なので、lem-pyth-triple-parity により $n$ が偶数である。再び thm-pyth-triple-classification により
$$ x=r^2-s^2,\qquad n=2rs,\qquad m=r^2+s^2 $$
($r>s>0$、$\gcd(r,s)=1$)と書ける。
段階 4:$y^2=2mn=4mrs$ なので $(y/2)^2=mrs$ である。$m,r,s$ はどの 2 つも互いに素である。実際 $\gcd(r,s)=1$ であり、素数が $r$ と $m=r^2+s^2$ を割り切ればそれは $s^2$ を割り切るので $s$ も割り切って矛盾し、$s$ と $m$ についても同様である。lem-pyth-triple-square-product により $m=w^2$、$r=u^2$、$s=v^2$ となる正の整数 $u,v,w$ がある。$m=r^2+s^2$ に代入すると
$$ u^4+v^4=w^2 $$
であり、$(u,v,w)$ も正の整数解である。ところが $n>0$ なので
$$ w\leq w^2=m\leq m^2< m^2+n^2=z $$
となり、$z$ の最小性に反する。よって正の整数解は存在しない。

この証明は Clark の講義ノートの第 2 章 §2(Theorem 2.2、pp. 39–40)Cla の第 1 の証明と同じ筋である。$z^4=(z^2)^2$ なので、特に $x^4+y^4=z^4$ も正の整数解をもたない。

Fermatの最終定理と直角三角形の面積

$n\geq3$ のとき $x^n+y^n=z^n$ を満たす正の整数は存在しないという主張は Fermat の最終定理と呼ばれ、1995 年に Wiles が(Taylor との共同研究を含めて)証明した(Crisman の PDF 版の §14.2.2、Fact 14.2.7、p. 243 Cri24)。上の定理はその $n=4$ の場合を含む。
同じ降下法により、3 辺が整数の直角三角形の面積は平方数にならないことも示せる(Crisman の PDF 版の §3.4.3、Proposition 3.4.11 と Corollary 3.4.12、pp. 35–36 Cri24)。

補足

歴史

Dickson の原本第 2 巻の第 IV 章 p. 165 Dic20 によれば、Proclus は Pythagoras に $(2k+1,\ 2k^2+2k,\ 2k^2+2k+1)$ という規則を帰し、Plato には $(2k,\ k^2-1,\ k^2+1)$ という規則が帰されている。これらは thm-pyth-triple-classification でそれぞれ $(m,n)=(k+1,k)$、$(m,n)=(k,1)$ とした場合(後者は $k$ が奇数なら 2 で割って原始的な組になる)にあたる。Euclid『原論』第 X 巻 命題 28 の後(命題 29 の前)の補題 1 は、ともに偶数またはともに奇数の 2 数で積が平方数になるものから、和が平方数になる 2 つの平方数を作る方法を与える(Heath 訳の第 3 巻 pp. 63–64 Hea08)。Diophantus は有理数の範囲で同じ問題を扱い、Brahmagupta(7 世紀)は $(2mn,\ m^2-n^2,\ m^2+n^2)$ の形を明示し、972 年のアラビア語の写本は原始的な直角三角形の辺がすべてこの形で与えられると述べている(Dickson の同章 pp. 165–166 Dic20)。

Gauss整数による見方

Gauss整数 $z=m+ni$ の平方は $z^2=(m^2-n^2)+2mn\,i$ であり、絶対値の平方は $|z^2|=|z|^2=m^2+n^2$ である。複素数の絶対値の性質 $|z^2|^2=(\operatorname{Re}z^2)^2+(\operatorname{Im}z^2)^2$ から、$(m^2-n^2,\,2mn,\,m^2+n^2)$ がピタゴラス数であることが再び分かる(Hitchman の PDF 版の §2.1 の演習 4、p. 17 Hit)。thm-pyth-triple-classification は、$c$ が $\mathbb{Z}[i]$ で $(m+ni)(m-ni)$ と分解することと対応しており、Fermatの二平方定理や Gauss整数 の記事の素元の分類と同じ構造が背後にある。

関連項目

参考文献

[3]
Leonard Eugene Dickson, History of the Theory of Numbers, Vol. II: Diophantine Analysis, Carnegie Institution of Washington, 1920, Chapter IV, pp. 165–166(Pythagoras・Plato の規則、Euclid、Brahmagupta、972 年の写本)
[4]
Euclid, translated with introduction and commentary by Thomas L. Heath, The Thirteen Books of Euclid's Elements, translated with introduction and commentary by T. L. Heath (3 vols., Cambridge University Press, 1908), 1st ed., Cambridge University Press, 1908, 第 X 巻 命題 28 の後(命題 29 の前)の補題 1 と Heath の注(pp. 63–64)

Mathpediaは寄付と、参考文献の書籍リンク(Amazonアソシエイト)の紹介料で運営されています。 支援について / 寄付する