自分が小学生のころから研究しているものの一つ。
ピタゴラス数。
この話しを書き始めると40年分の熱量があるわけで、まとめるのも一苦労である。
まぁ、そろそろまとめても良いのかとは思ってはいる。
まずピタゴラス数に魅了される前に、フェルマーの最終定理が存在する。
xn+yn=zn
nが3以上の自然数で成り立つ自然数x, y, zの組は存在しない。
ということが、アンドリュー・ワイルズによって証明されたころである。
360年間も証明されずにいた数学の問題が証明されたころ、私はピタゴラス数の研究に取り組み始めました。
変数はすべて自然数ですので、冪乗であっても、小学生でも容易に値を求めることが可能である。
これを小学生だった私は、いろいろな値を入れて遊んでいたのが始まりである。
中学に上がり、算数が数学と名前を変え、始めて習う定理が三平方の定理、ピタゴラスの定理である。
a2+b2=c2
なんだ、フェルマーの最終定理のn=2のときじゃないか。
とすぐに理解する。
ここまでは数学でいうところの、代数幾何学。
代数学であり、幾何学である。
これが直角三角形の各辺a、b、c(斜辺がc)であるということ。
つまり、a、b、cは自然数に限らず、実数で成り立つのである。
既にフェルマーの最終定理を知っている私には、a、b、cが自然数である場合に興味が注がれる。
それこそがピタゴラス数である。
a2+b2=c2
a, b, c∈N
これがピタゴラス数の定義である。
実数で成り立つものをあえて自然数と限られたところで考える数学。
これは整数論とかに分類されることでしょう。
フェルマーの最終定理も整数論ですね。
ピタゴラス数にはどんなものがあるのだろうか。
(3, 4, 5), (6, 8, 10), (9, 12, 15), …
(5, 12, 13), (10, 24. 26), (15, 36, 39), …
(8, 15, 17), (16, 30, 34), (24, 45, 51), …
(20, 21, 29), (40,42, 58), (60, 63, 87), …
…
とにかく沢山見つかる。
無限に存在するんだろう。
ここでピタゴラス数はピタグラスの定理が成り立つ直角三角形の3辺の比であるから、
gcd(a, b, c)=1
だけを探せばいいんじゃないのか?
と考えるようになる。
先のピタゴラス数の羅列で、必要なのは縦の1列だけでで、他は要らない。
(3, 4, 5),
(5, 12, 13),
(8, 15, 17),
(20, 21, 29),
…
これでも無限に存在するんだろう。
ここまで見つかったピタゴラス数は、どれかが3の倍数で、どれかが4の倍数で、どれかが5の倍数だ。
一番大きな値、つまり斜辺は必ず奇数だ。
といった性質に気がつく。
これを証明するには、modを学ばなければならないだろう。
しかし、私の高校時代は習わなかったのだ。
習っていれば、もう少し早い段階で話しが進んでいたかもしれません。
大学に行っても数学を専攻し、数学を専攻はしたんだが、純粋数学があまりにも抽象的すぎて疲れ始めていた。
そんな頃にコンピュータと出会い、コンピュータにのめり込んでいったのである。
そんなころ、最大公約数をプログラミングで扱うために、ユークリッドの互除法というアルゴリズムを知り、そんなところからユークリッドの存在を知り、ピタゴラス数というものが結構研究されていることに気がつく。
ユークリッドが示した方法は、
m, n∈N, m>n において、
a=m2-n2
b=2mn
c=m2+n2
というものだった。
これはすごいとは思ったのだが、gcd(a, b, c)=1じゃないものも導いてしまっている。
私の中で、ピタゴラス数を研究はするが、欲しいのは既約ピタゴラス数だけになっていたのです。
でも、何かしらのヒントは頂いた。
ピタゴラス数同士が何らかの繋がりがあるんではなかろうか。
イメージとしては、ピタゴラス数を与えると、別のピタゴラス数が出てくる感じです。
自分が出した結論が、連立方程式、もっと言えば行列式でした。
⎜
⎝1
2
22
1
22
2
3⎞
⎟
⎠⎛
⎜
⎝a
b
c⎞
⎟
⎠=⎛
⎜
⎝x
y
z⎞
⎟
⎠
最初に出来たのがこれでした。
不完全でしたが、イメージに近いものでした。
(a, b, c)=(3, 4, 5) を入れると、
(x, y, z)=(3・1+4・2+5・2, 3・2+4・1+5・2, 3・2+4・2+5・3)
=(21, 20, 29) と、別のピタゴラス数が生み出された。
一番小さなピタゴラス数(3, 4, 5)を入れて、(21, 20, 29)が出てきたので、(5, 12, 13)や(8, 15, 17)はどうなるんだろうと、まだまだ未完成であると考えた。
そこで、ピタゴラスの定理を思い出すわけです。
a2+b2=c2
そもそも2乗しているので、三角形の長さは常に正だが、a, b, cに負の値を入れても2乗するのであれば、等号であることにはかわらない。
符号を変えてもいいのでは?
⎜
⎝-1
-2
-2-2
-1
-22
2
3⎞
⎟
⎠⎛
⎜
⎝a
b
c-a
b
ca
-b
c-a
-b
ca
b
-c-a
b
-ca
-b
-c-a
-b
-c⎞
⎟
⎠
そこで、可能性を最大限考えると、上記のようになったのだが、これは無駄が多すぎる。
後半4列は前半4列の符号が逆転しただけ、つまり前半4列だけでよく、
⎜
⎝-1
-2
-2-2
-1
-22
2
3⎞
⎟
⎠⎛
⎜
⎝a
b
c-a
b
ca
-b
c-a
-b
c⎞
⎟
⎠=⎛
⎜
⎝a0
b0
c0a1
b2
c3a2
b2
c2a3
b3
c3⎞
⎟
⎠
という解を含めた形に落ち着きました。
(a, b, c)=(3, 4, 5)を入れると、
(a0, b0, c0)=(-1, 0, 1)
(a1, b1, c1)=(5, 12, 13)
(a2, b2, c2)=(15, 8, 17)
(a3, b3, c3)=(21, 20, 29)
という結果になる。
これをみて、すべてを網羅しているんじゃないかとすぐにピンときた。
あと、並びも重要だ。
いずれの解もユークリッドの方法のように、b=2mn、つまりbが偶数、a、cが奇数になっている。
(a, b, c)=(5, 12, 13)を入れると、
(a0, b0, c0)=(-3, 4, 5)
(a1, b1, c1)=(7, 24, 25)
(a2, b2, c2)=(45, 28, 53)
(a3, b3, c3)=(55, 48, 73)
という結果、
(a, b, c)=(15, 8, 17)を入れると、
(a0, b0, c0)=(3, -4, 5)
(a1, b1, c1)=(33, 56, 65)
(a2, b2, c2)=(35, 12, 37)
(a3, b3, c3)=(65, 72, 97)
という結果、
(a, b, c)=(21, 20, 29)を入れると、
(a0, b0, c0)=(-3, -4, 5)
(a1, b1, c1)=(39, 80, 89)
(a2, b2, c2)=(77, 36, 85)
(a3, b3, c3)=(119, 120, 169)
という結果となった。
それぞれの(a0, b0, c0)の値をみると、aだけが負、bだけが負、aとbが負になっている。
それはなぜかというと、
⎜
⎝-1
-2
-2-2
-1
-22
2
3⎞
⎟
⎠=P-1
つまり、逆行列が等しいことが要因でした。
符号を付けたことによる嬉しい悲鳴というところでしょうか。
もし、連立方程式の状態であれば、この事実に気がつくことは難しかったであろう。
どうやら高校の新課程から行列が取り除かれるようです。
つまり、ここまで書いたけど、今の高校生は読んでもちんぷんかんぷんになってしまうのだろうか。
行列は線形代数という数学の分野です。
私が高校生だったころは、普通に文系コースも理系コースも数学でやったと思います。
もうやらないのかぁ。
大学に行っても、やらない人は永遠に知らないまま。
大学で数学をやると、唐突に行列式が出てきてパニクるだろうな。
さて、ここで昔の記憶が蘇る。
a, b, cのいずれかは3の倍数
a, b, cのいずれかは4の倍数
a, b, cのいずれかは5の倍数
であるから、
簡単に言えば、積abcは60の倍数である。
各辺の積は60で割れるが、まぁ、そこはおいておいて、その積が持つ大きさを比較してみると、
abc > a0b0c0
abc < a1b1c1
abc < a2b2c2
abc < a3b3c3
という大小関係になる。
(3, 4, 5)が一番小さな既約ピタゴラス数であることは間違いのない事実で、a0b0c0だけがabcより小さいということ。
(a, b, c)を与えると4つの新たなピタゴラス数が見つかるが、1つは向きが逆。
ここで一気にピタゴラス数同士の繋がり、樹形図が見えてくる。
とりあえず、6階層までを表にしてみた。
第1階層 | 第2階層 | 第3階層 | 第4階層 | 第5階層 | 第6階層 |
(3, 4, 5) | (5, 12, 13) | (7, 24, 25) | (9, 40, 41) | (11, 60, 61) | (13, 84, 85) |
(231, 160, 281) | |||||
(253, 204, 325) | |||||
(153, 104, 185) | (315, 572, 653) | ||||
(425, 168, 457) | |||||
(731, 780, 1069) | |||||
(171, 140, 221) | (333, 644, 725) | ||||
(551, 240, 601) | |||||
(893, 924, 1285) | |||||
(91, 60, 109) | (189, 340, 389) | (287, 816, 865) | |||
(1269, 740, 1469) | |||||
(1647, 1496, 2225) | |||||
(247, 96, 265) | (585, 928, 1097) | ||||
(475, 132, 493) | |||||
(969, 1120, 1481) | |||||
(429, 460, 629) | (767, 1656, 1825) | ||||
(1749, 860, 1949) | |||||
(2607, 2576, 3665) | |||||
(105, 88, 137) | (203, 396, 445) | (301, 900, 949) | |||
(1479, 880, 1721) | |||||
(1885, 1692, 2533) | |||||
(345, 152, 377) | (795, 1292, 1517) | ||||
(713, 216, 745) | |||||
(1403, 1596, 2125) | |||||
(555, 572, 797) | (1005, 2132, 2357) | ||||
(2183, 1056, 2425) | |||||
(3293, 3276, 4645) | |||||
(45, 28, 53) | (95, 168, 193) | (145, 408, 433) | (195, 748, 773) | ||
(1537, 984, 1825) | |||||
(1827, 1564, 2405) | |||||
(627, 364, 725) | (1349, 2340, 2701) | ||||
(1551, 560, 1649) | |||||
(2805, 3068, 4157) | |||||
(817, 744, 1105) | (1539, 3100, 3461) | ||||
(2881, 1320, 3169) | |||||
(4515, 4588, 6437) | |||||
(117, 44, 125) | (279, 440, 521) | (441, 1160, 1241) | |||
(1643, 924, 1885) | |||||
(2201, 2040, 3001) | |||||
(221, 60, 229) | (559, 840, 1009) | ||||
(357, 76, 365) | |||||
(799, 960, 1249) | |||||
(455, 528, 697) | (793, 1776, 1945) | ||||
(1995, 1012, 2237) | |||||
(2905, 2832, 4057) | |||||
(207, 224, 305) | (369, 800, 881) | (531, 1700, 1781) | |||
(2993, 1824, 3505) | |||||
(3731, 3300, 4981) | |||||
(851, 420, 949) | (1909, 3180, 3709) | ||||
(1887, 616, 1985) | |||||
(3589, 4020, 5389) | |||||
(1265, 1248, 1777) | (2323, 4836, 5365) | ||||
(4785, 2272, 5297) | |||||
(7315, 7332, 10357) | |||||
(55, 48, 73) | (105, 208, 233) | (155, 468, 493) | (205, 828, 853) | ||
(1767, 1144, 2105) | |||||
(2077, 1764, 2725) | |||||
(777, 464, 905) | (1659, 2900, 3341) | ||||
(1961, 720, 2089) | |||||
(3515, 3828, 5197) | |||||
(987, 884, 1325) | (1869, 3740, 4181) | ||||
(3431, 1560, 3769) | |||||
(5405, 5508, 7717) | |||||
(187, 84, 205) | (429, 700, 821) | (671, 1800, 1921) | |||
(2613, 1484, 3005) | |||||
(3471, 3200, 4721) | |||||
(391, 120, 409) | (969, 1480, 1769) | ||||
(667, 156, 685) | |||||
(1449, 1720, 2249) | |||||
(765, 868, 1157) | (1343, 2976, 3265) | ||||
(3285, 1652, 3677) | |||||
(4815, 4712, 6737) | |||||
(297, 304, 425) | (539, 1140, 1261) | (781, 2460, 2581) | |||
(4263, 2584, 4985) | |||||
(5341, 4740, 7141) | |||||
(1161, 560, 1289) | (2619, 4340, 5069) | ||||
(2537, 816, 2665) | |||||
(4859, 5460, 7309) | |||||
(1755, 1748, 2477) | (3213, 6716, 7445) | ||||
(6695, 3192, 7417) | |||||
(10205, 10212, 14437) | |||||
(15, 8, 17) | (33, 56, 65) | (51, 140, 149) | (69, 260, 269) | (87, 416, 425) | |
(989, 660, 1189) | |||||
(1127, 936, 1465) | |||||
(527, 336, 625) | (1105, 1968, 2257) | ||||
(1395, 532, 1493) | |||||
(2449, 2640, 3601) | |||||
(629, 540, 829) | (1207, 2376, 2665) | ||||
(2109, 940, 2309) | |||||
(3367, 3456, 4825) | |||||
(209, 120, 241) | (451, 780, 901) | (693, 1924, 2045) | |||
(2911, 1680, 3361) | |||||
(3813, 3484, 5165) | |||||
(513, 184, 545) | (1235, 1932, 2293) | ||||
(945, 248, 977) | |||||
(1971, 2300, 3029) | |||||
(931, 1020, 1381) | (1653, 3604, 3965) | ||||
(3871, 1920, 4321) | |||||
(5733, 5644, 8045) | |||||
(275, 252, 373) | (517, 1044, 1165) | (759, 2320, 2441) | |||
(3901, 2340, 4549) | |||||
(4935, 4408, 6617) | |||||
(975, 448, 1073) | (2225, 3648, 4273) | ||||
(2067, 644, 2165) | |||||
(4017, 4544, 6065) | |||||
(1525, 1548, 2173) | (2775, 5848, 6473) | ||||
(5917, 2844, 6565) | |||||
(8967, 8944, 12665) | |||||
(35, 12, 37) | (85, 132, 157) | (135, 352, 377) | (185, 672, 697) | ||
(1323, 836, 1565) | |||||
(1593, 1376, 2105) | |||||
(493, 276, 565) | (1071, 1840, 2129) | ||||
(1189, 420, 1261) | |||||
(2175, 2392, 3233) | |||||
(663, 616, 905) | (1241, 2520, 2809) | ||||
(2379, 1100, 2621) | |||||
(3705, 3752, 5273) | |||||
(63, 16, 65) | (161, 240, 289) | (259, 660, 709) | |||
(897, 496, 1025) | |||||
(1219, 1140, 1669) | |||||
(99, 20, 101) | (261, 380, 461) | ||||
(143, 24, 145) | |||||
(341, 420, 541) | |||||
(225, 272, 353) | (387, 884, 965) | ||||
(1025, 528, 1153) | |||||
(1475, 1428, 2053) | |||||
(133, 156, 205) | (231, 520, 569) | (329, 1080, 1129) | |||
(1947, 1196, 2285) | |||||
(2409, 2120, 3209) | |||||
(589, 300, 661) | (1311, 2200, 2561) | ||||
(1333, 444, 1405) | |||||
(2511, 2800, 3761) | |||||
(855, 832, 1193) | (1577, 3264, 3625) | ||||
(3195, 1508, 3533) | |||||
(4905, 4928, 6953) | |||||
(65, 72, 97) | (115, 252, 277) | (165, 532, 557) | (215, 912, 937) | ||
(2013, 1316, 2405) | |||||
(2343, 1976, 3065) | |||||
(943, 576, 1105) | (2001, 3520, 4049) | ||||
(2419, 900, 2581) | |||||
(4305, 4672, 6353) | |||||
(1173, 1036, 1565) | (2231, 4440, 4969) | ||||
(4029, 1820, 4421) | |||||
(6375, 6512, 9113) | |||||
(273, 136, 305) | (611, 1020, 1189) | (949, 2580, 2749) | |||
(3807, 2176, 4385) | |||||
(5029, 4620, 6829) | |||||
(609, 200, 641) | (1491, 2300, 2741) | ||||
(1073, 264, 1105) | |||||
(2291, 2700, 3541) | |||||
(1155, 1292, 1733) | (2037, 4484, 4925) | ||||
(4895, 2448, 5473) | |||||
(7205, 7068, 10093) | |||||
(403, 396, 565) | (741, 1540, 1709) | (1079, 3360, 3529) | |||
(5757, 3476, 6725) | |||||
(7239, 6440, 9689) | |||||
(1519, 720, 1681) | (3441, 5680, 6641) | ||||
(3283, 1044, 3445) | |||||
(6321, 7120, 9521) | |||||
(2325, 2332, 3293) | (4247, 8904, 9865) | ||||
(8925, 4268, 9893) | |||||
(13575, 13568, 19193) | |||||
(21, 20, 29) | (39, 80, 89) | (57, 176, 185) | (75, 308, 317) | (93, 476, 485) | |
(1175, 792, 1417) | |||||
(1325, 1092, 1717) | |||||
(665, 432, 793) | (1387, 2484, 2845) | ||||
(1785, 688, 1913) | |||||
(3115, 3348, 4573) | |||||
(779, 660, 1021) | (1501, 2940, 3301) | ||||
(2583, 1144, 2825) | |||||
(4141, 4260, 5941) | |||||
(299, 180, 349) | (637, 1116, 1285) | (975, 2728, 2897) | |||
(4165, 2412, 4813) | |||||
(5439, 4960, 7361) | |||||
(759, 280, 809) | (1817, 2856, 3385) | ||||
(1419, 380, 1469) | |||||
(2937, 3416, 4505) | |||||
(1357, 1476, 2005) | (2415, 5248, 5777) | ||||
(5605, 2772, 6253) | |||||
(8319, 8200, 11681) | |||||
(377, 336, 505) | (715, 1428, 1597) | (1053, 3196, 3365) | |||
(5335, 3192, 6217) | |||||
(6765, 6052, 9077) | |||||
(1305, 592, 1433) | (2987, 4884, 5725) | ||||
(2745, 848, 2873) | |||||
(5355, 6068, 8093) | |||||
(2059, 2100, 2941) | (3741, 7900, 8741) | ||||
(8023, 3864, 8905) | |||||
(12141, 12100, 17141) | |||||
(77, 36, 85) | (175, 288, 337) | (273, 736, 785) | (371, 1380, 1429) | ||
(2769, 1760, 3281) | |||||
(3315, 2852, 4373) | |||||
(1075, 612, 1237) | (2325, 4012, 4637) | ||||
(2623, 936, 2785) | |||||
(4773, 5236, 7085) | |||||
(1425, 1312, 1937) | (2675, 5412, 6037) | ||||
(5073, 2336, 5585) | |||||
(7923, 8036, 11285) | |||||
(165, 52, 173) | (407, 624, 745) | (649, 1680, 1801) | |||
(2331, 1300, 2669) | |||||
(3145, 2928, 4297) | |||||
(285, 68, 293) | (735, 1088, 1313) | ||||
(437, 84, 445) | |||||
(1007, 1224, 1585) | |||||
(615, 728, 953) | (1065, 2408, 2633) | ||||
(2747, 1404, 3085) | |||||
(3977, 3864, 5545) | |||||
(319, 360, 481) | (561, 1240, 1361) | (803, 2604, 2725) | |||
(4641, 2840, 5441) | |||||
(5763, 5084, 7685) | |||||
(1363, 684, 1525) | (3045, 5092, 5933) | ||||
(3055, 1008, 3217) | |||||
(5781, 6460, 8669) | |||||
(2001, 1960, 2801) | (3683, 7644, 8485) | ||||
(7521, 3560, 8321) | |||||
(11523, 11564, 16325) | |||||
(119, 120, 169) | (217, 456, 505) | (315, 988, 1037) | (413, 1716, 1765) | ||
(3735, 2432, 4457) | |||||
(4365, 3692, 5717) | |||||
(1705, 1032, 1993) | (3627, 6364, 7325) | ||||
(4345, 1608, 4633) | |||||
(7755, 8428, 11453) | |||||
(2139, 1900, 2861) | (4061, 8100, 9061) | ||||
(7383, 3344, 8105) | |||||
(11661, 11900, 16661) | |||||
(459, 220, 509) | (1037, 1716, 2005) | (1615, 4368, 4657) | |||
(6405, 3652, 7373) | |||||
(8479, 7800, 11521) | |||||
(999, 320, 1049) | (2457, 3776, 4505) | ||||
(1739, 420, 1789) | |||||
(3737, 4416, 5785) | |||||
(1917, 2156, 2885) | (3375, 7448, 8177) | ||||
(8165, 4092, 9133) | |||||
(11999, 11760, 16801) | |||||
(697, 696, 985) | (1275, 2668, 2957) | (1853, 5796, 6085) | |||
(9975, 6032, 11657) | |||||
(12525, 11132, 16757) | |||||
(2665, 1272, 2953) | (6027, 9964, 11645) | ||||
(5785, 1848, 6073) | |||||
(11115, 12508, 16733) | |||||
(4059, 4060, 5741) | (7421, 15540, 17221) | ||||
(15543, 7424, 17225) | |||||
(23661, 23660, 33461) |
当然だが、これは無限に階層を増やすことができることはいうまでもない。
今度はグラフ理論が絡んできそうです。
数学でいうところの位相幾何学の一分野です。
P=P-1
と逆行列が等しいので、
(a, b, c)から見て、
(|a0|, |b0|, c0)を親ノード、
(a1, b1, c1)を第一子ノード
(a2, b2, c2)を第二子ノード
(a3, b3, c3)を第三子ノード
という3分木構造です。
これが何を表しているのかというと、いかなる既約ピタゴラス数も、親ノードをたどっていけば、(3, 4, 5)に行き着くということです。
また、(a0, b0, c0)の符号の付き方で、(a, b, c)自身が第何子ノードなのかが判明します。
(a, b, c)が既約ピタゴラス数ならば、親側、先祖側、子側、子孫側、どちら側もその情報が遺伝的に現れます。
それは行列のベクトルに対して、スカラー倍するわけですから、解がスカラー倍されているのは自明ですね。
この辺は行列の性質なんで、かなり扱いやすいのではなかろうか。
この行列式の発見により、次にどんな発見があったのか。
まだまだ続きます。
ではでは