先日、左辺が3項あるピタゴラス数の話しを書きました。
a2+b2+c2=d2
1≦a≦b≦c≦100
gcd(a,b,c,d)=1
と限定すると、
(a,b,c,d)の組は、
530組あった。
左辺の項数が増えていったら、組数は増えるのか、減るのか、どうなっていくのかちょっと疑問に思い、プログラミングしてみました。
左辺の項数、レンジの最大値、これをパラメータに与えると、組数を数えるプログラムです。
ループのネストでは、コードの記述が膨大になるので、再帰処理で書きました。
左辺がn項あって、右辺をxn+1として、
x12+x22+x32+…xk2+xk+12+…+xn2=xn+12
1≦x1≦…≦xk≦xk+1≦…≦xn≦100
gcd(x1,…,xn+1)=1
という条件としました。
さて、左辺n項のピタゴラス数は何組あるのか。
2 18
3 530
4 13225
5 279038
6 5079047
7 801578058
8 1080958869
9 12246744624
どうやら指数的に増えているように見える。
10を求めるには、このプログラムでは一ヶ月くらい掛かりそうな感じでしたので、この辺でやめました。
レンジの最大値を100にすると、膨大になるので、今度は10に下げてみます。
2 1
3 6
4 22
5 59
6 151
7 353
8 717
9 1269
10 2489
11 4324
12 6884
13 11701
14 18399
15 27813
16 43275
17 63641
18 91739
19 133785
20 187778
21 259567
22 361055
23 489940
24 655369
25 879039
26 1158953
27 1508821
28 1966849
29 2529920
30 3220135
31 4103720
32 5171483
33 6458705
34 8073886
35 9997630
36 12286900
37 15106358
38 18425462
39 22336700
40 27073859
41 32593560
これも指数的なのであろう。
100では、2から9項までしか求めてないが、データとしては8個
10では、100の5倍のデータを集めてみました。
これらの組数は指数的だと直感しましたので、Excelに取り込んで、log10を取ったものを、散布図グラフにしてみました。
1≦x1≦…≦xk≦xk+1≦…≦xn≦100
gcd(x1,…,xn+1)=1
n=7のときに、ちょっと異常な盛り上がりを見せるも、トータルでみると、直線的である。
1≦x1≦…≦xk≦xk+1≦…≦xn≦10
gcd(x1,…,xn+1)=1
サンプルが40個あることが要因かわからないが、なめらかな曲線を描いている。
数学的には、y=log xのグラフとか、y=x1/2といった感じである。
最大100のグラフは8個のデータにすぎず、あくまでも最大10のグラフの40個のデータの局所的なところをみただけで、直線的に見えたということなのだろうか。
つまり、最大100のグラフも同じサンプル数であれば、同様のカーブを描くのだろうか。
これはやってみなければ解らないだろうし、私のパソコンではこのくらいが限界であろうか。
最大10の方であれば、もう少しデータを取っても良いが、それを増やすことで、よりカーブが美しく描けるのか、それとも実は直線的なのかもしれない。
おそらくは単調増加関数ではあろうかと思うが、漸近的になるのか、予想が外れて減少するのだろうか。
数学的な直感は外れることもあるし、なんともかんとも言い難たいところではある。
ではでは
↧
ピタゴラス数の左辺の項が増えたら解の組数はどうなるのだろうか
↧