まず、1000以下の合同数361個をデータとしてセットするプログラムを用意する。
10 L%=358:dim G%(L%):for I%=1 to L%:read A%:G%(I%)=A%:print I%,A%:next I% 20 data 5,6,7,13,14,15,21,22,23,29,30,31,34,37,38,39 30 data 41,46,47,53,55,61,62,65,69,70,71,77,78,79,85,86 40 data 87,93,94,95,101,102,103,109,110,111,118,119,127,133,134,137 50 data 138,141,142,143,145,149,151,154,157,158,159,161,165,166,167,173 60 data 174,181,182,183,190,191,194,197,199,205,206,210,213,214,215,219 70 data 221,222,223,226,229,230,231,237,238,239,246,247,253,254,255,257 80 data 262,263,265,269,271,277,278,285,286,287,291,293,295,299,301,302 90 data 303,309,310,311,313,317,318,319,323,326,327,330,334,335,341,349 100 data 353,357,358,359,365,366,367,371,373,374,381,382,383,386,389,390 110 data 391,395,397,398,399,406,407,410,413,415,421,422,426,429,430,431 120 data 434,437,438,439,442,445,446,447,453,454,455,457,461,462,463,465 130 data 469,470,471,478,479,485,487,493,494,501,502,503,505,509,510,511 140 data 514,517,518,519,526,527,533,534,535,541,542,543,546,551,557,559 150 data 561,565,566,573,574,581,582,583,589,590,591,597,598,599,602,606 160 data 607,609,613,614,615,622,623,629,631,638,645,646,647,651,653,654 170 data 655,658,661,662,663,669,670,671,674,677,678,679,685,687,689,694 180 data 695,701,703,709,710,717,718,719,721,723,727,731,733,734,741,742 190 data 743,749,751,757,758,759,761,766,767,773,777,781,782,789,790,791 200 data 793,797,798,799,805,806,807,813,814,815,821,822,823,829,830,831 210 data 838,839,853,854,861,862,863,866,869,870,871,877,878,879,885,886 220 data 887,889,890,893,894,895,901,902,903,905,910,911,915,917,919,926 230 data 933,934,935,941,942,943,949,951,957,958,959,965,966,967,973,974 240 data 982,983,985,987,989,991,995,997,998
これを、x、y、gのループの、gのループ部分として append する。
プログラムは以下のとおり。
10 ' print=print+"g_brute.txt" 20 ' g_brute.ub 30 M=100001 40 L%=361:dim G%(L%):gosub 180:' set congruum into g%() 50 ' 60 for X=5 to M step 4:X2=X^2:Ey=int(X/sqrt(5)) 70 for Y=2 to Ey step 2:if gcd(X,Y)>1 then 150 else Y2=Y^2 80 for I%=1 to L%:if gcd(X,G%(I%))>1 then 140 90 G=G%(I%)*Y2:if G@8>0 then 140 100 W2=X2-G:if W2<0 then cancel for:goto 150 110 W=isqrt(W2):if res>0 then 140 120 Z=isqrt(X2+G):if res>0 then 140 130 gosub 450 140 next I% 150 next Y 160 next X 170 end 180 ' congruum 190 for I%=1 to L%:read A%:G%(I%)=A%:next I%:return 200 data 5,6,7,13,14,15,21,22,23,29,30,31,34,37,38,39 210 data 41,46,47,53,55,61,62,65,69,70,71,77,78,79,85,86 220 data 87,93,94,95,101,102,103,109,110,111,118,119,127,133,134,137 230 data 138,141,142,143,145,149,151,154,157,158,159,161,165,166,167,173 240 data 174,181,182,183,190,191,194,197,199,205,206,210,213,214,215,219 250 data 221,222,223,226,229,230,231,237,238,239,246,247,253,254,255,257 260 data 262,263,265,269,271,277,278,285,286,287,291,293,295,299,301,302 270 data 303,309,310,311,313,317,318,319,323,326,327,330,334,335,341,349 280 data 353,357,358,359,365,366,367,371,373,374,381,382,383,386,389,390 290 data 391,395,397,398,399,406,407,410,413,415,421,422,426,429,430,431 300 data 434,437,438,439,442,445,446,447,453,454,455,457,461,462,463,465 310 data 469,470,471,478,479,485,487,493,494,501,502,503,505,509,510,511 320 data 514,517,518,519,526,527,533,534,535,541,542,543,546,551,557,559 330 data 561,565,566,573,574,581,582,583,589,590,591,597,598,599,602,606 340 data 607,609,613,614,615,622,623,629,631,638,645,646,647,651,653,654 350 data 655,658,661,662,663,669,670,671,674,677,678,679,685,687,689,694 360 data 695,701,703,709,710,717,718,719,721,723,727,731,733,734,741,742 370 data 743,749,751,757,758,759,761,766,767,773,777,781,782,789,790,791 380 data 793,797,798,799,805,806,807,813,814,815,821,822,823,829,830,831 390 data 838,839,853,854,861,862,863,866,869,870,871,877,878,879,885,886 400 data 887,889,890,893,894,895,901,902,903,905,910,911,915,917,919,926 410 data 933,934,935,941,942,943,949,951,957,958,959,965,966,967,973,974 420 data 982,983,985,987,989,991,995,997,998 430 ' 440 ' g_prt.ub 450 print G%(I%);":";X;",";Y;",";Z;",";W;":";X2;",";G;":"; 460 print X2;",";X*Z*W;",";Y 470 return
100,000以下のxについて調べた。新たに見つかった解は無い。実行結果は以下のとおり。
解が依然見つかっていないのは、以下の 126個。
53, 101, 103, 118, 127, 142, 157, 173, 181, 191, 197, 199, 223, 229, 237, 263, 269, 271, 277, 278, 293, 302, 303, 311, 317, 326, 327, 334, 349, 358, 365, 367, 373, 382, 389, 397, 398, 407, 413, 415, 421, 431, 439, 446, 453, 454, 461, 463, 478, 485, 487, 493, 501, 502, 503, 519, 533, 541, 542, 543, 557, 566, 573, 583, 597, 599, 607, 613, 614, 623, 631, 638, 647, 653, 661, 662, 677, 685, 695, 701, 703, 717, 718, 727, 733, 742, 743, 757, 758, 766, 767, 773, 781, 789, 797, 807, 815, 822, 823, 829, 831, 838, 853, 862, 863, 877, 878, 886, 887, 893, 911, 917, 919, 926, 933, 941, 958, 965, 967, 974, 982, 983, 989, 991, 997, 998
前 | この章の目次 | 次 |
---|