おぉ!鉄子さんありがとうございます!
>x=512の場合は、825818組。
オーダー的には良いですが,たったxが256増加しただけでこれほどの差が出るなら,次は512増加して1024へ行くので,誤差はより大きくなるかもです.
上限xと解の個数yのグラフを両対数で表示すると,見た目はほぼ直線なんですけど,予想が難しいですね.
私も数時間プログラムを走らせてx=1024の場合を求めてみると6706260通り(最大解:498
2+500
2+509
2+538
2=1023
2)となりました.
http://viploda.net/src/viploda.net18121.png_UDuiTJm5gMJDrvldsiGT/viploda.net18121.png点線はx=512とx=1024の2点を結ぶものです.これからわかるように解の個数は両対数グラフでは,ほとんど直線に見えるほど緩やかに傾きが小さくなっていく曲線のようです.x=128以降を両対数グラフ上で直線近似(つまり普通のグラフで累乗近似)をしてやれば,その先かなり広い範囲でオーダーを知ることができるでしょう.
次のx=2048では解の個数は5-60000000通りであり,1024C5と2048C5の比を考えると,私のプログラムでは数日はかかるでしょうね(もちろん全組み合わせを検証してるわけではありませんから2048C5回も計算はしませんが;e
2がa
2+b
2+c
2+d
2より大きくなった時点でeを大きくするのを止めるという方法をとっています).
>x=512の場合は、825818組。
オーダー的には良いですが,たったxが256増加しただけでこれほどの差が出るなら,次は512増加して1024へ行くので,誤差はより大きくなるかもです.
上限xと解の個数yのグラフを両対数で表示すると,見た目はほぼ直線なんですけど,予想が難しいですね.
私も数時間プログラムを走らせてx=1024の場合を求めてみると6706260通り(最大解:4982+5002+5092+5382=10232)となりました.
http://viploda.net/src/viploda.net18121.png_UDuiTJm5gMJDrvldsiGT/viploda.net18121.png
点線はx=512とx=1024の2点を結ぶものです.これからわかるように解の個数は両対数グラフでは,ほとんど直線に見えるほど緩やかに傾きが小さくなっていく曲線のようです.x=128以降を両対数グラフ上で直線近似(つまり普通のグラフで累乗近似)をしてやれば,その先かなり広い範囲でオーダーを知ることができるでしょう.
次のx=2048では解の個数は5-60000000通りであり,1024C5と2048C5の比を考えると,私のプログラムでは数日はかかるでしょうね(もちろん全組み合わせを検証してるわけではありませんから2048C5回も計算はしませんが;e2がa2+b2+c2+d2より大きくなった時点でeを大きくするのを止めるという方法をとっています).