昨日書いた記事のプログラムが出力した x≦y≦z<10万 のデータです。
n | x | y | z |
9 | 1 | 1 | 1 |
10 | 1 | 1 | 2 |
10 | 1 | 2 | 2 |
11 | 1 | 2 | 3 |
15 | 1 | 2 | 6 |
15 | 1 | 3 | 6 |
11 | 2 | 3 | 6 |
14 | 2 | 3 | 10 |
26 | 1 | 6 | 14 |
18 | 2 | 3 | 15 |
18 | 2 | 10 | 15 |
14 | 3 | 10 | 15 |
34 | 1 | 6 | 21 |
55 | 1 | 14 | 35 |
34 | 2 | 7 | 42 |
26 | 3 | 7 | 42 |
35 | 3 | 10 | 65 |
55 | 2 | 5 | 70 |
105 | 1 | 21 | 77 |
59 | 2 | 15 | 85 |
131 | 1 | 35 | 90 |
35 | 6 | 39 | 130 |
30 | 10 | 77 | 165 |
63 | 5 | 119 | 170 |
105 | 3 | 11 | 231 |
30 | 14 | 30 | 231 |
330 | 1 | 90 | 234 |
63 | 7 | 10 | 238 |
126 | 3 | 114 | 247 |
59 | 6 | 34 | 255 |
74 | 5 | 22 | 270 |
370 | 1 | 77 | 286 |
190 | 2 | 21 | 322 |
179 | 3 | 65 | 442 |
319 | 2 | 150 | 475 |
190 | 3 | 46 | 483 |
298 | 2 | 85 | 493 |
126 | 6 | 13 | 494 |
323 | 2 | 75 | 550 |
326 | 2 | 55 | 570 |
74 | 11 | 135 | 594 |
851 | 1 | 234 | 611 |
131 | 7 | 18 | 630 |
323 | 3 | 22 | 825 |
294 | 5 | 570 | 874 |
297 | 5 | 513 | 945 |
1359 | 1 | 286 | 1066 |
670 | 2 | 210 | 1113 |
330 | 5 | 13 | 1170 |
319 | 6 | 19 | 1425 |
2215 | 1 | 611 | 1598 |
370 | 7 | 26 | 2002 |
54 | 55 | 595 | 2002 |
234 | 11 | 51 | 2046 |
179 | 15 | 102 | 2210 |
38 | 90 | 391 | 2210 |
298 | 10 | 58 | 2465 |
1246 | 3 | 1159 | 2562 |
294 | 15 | 23 | 2622 |
606 | 7 | 1566 | 2639 |
210 | 26 | 2482 | 2847 |
1691 | 2 | 493 | 2871 |
1166 | 3 | 442 | 3026 |
1886 | 2 | 714 | 3043 |
1635 | 2 | 117 | 3094 |
54 | 85 | 286 | 3094 |
326 | 11 | 114 | 3135 |
234 | 17 | 682 | 3162 |
1419 | 3 | 690 | 3542 |
297 | 19 | 35 | 3591 |
70 | 70 | 551 | 3654 |
210 | 34 | 39 | 3723 |
495 | 14 | 3002 | 3857 |
5050 | 1 | 1066 | 3977 |
5786 | 1 | 1598 | 4182 |
702 | 10 | 2065 | 4897 |
70 | 95 | 630 | 4959 |
38 | 207 | 1170 | 5083 |
170 | 42 | 1771 | 5106 |
670 | 10 | 53 | 5565 |
535 | 14 | 1677 | 5719 |
1107 | 7 | 1178 | 6510 |
95 | 102 | 2530 | 6545 |
555 | 14 | 93 | 6634 |
1190 | 10 | 5015 | 6834 |
82 | 119 | 475 | 7106 |
854 | 14 | 4251 | 7630 |
854 | 10 | 738 | 7667 |
406 | 22 | 806 | 7843 |
227 | 51 | 145 | 8330 |
95 | 138 | 357 | 8855 |
338 | 34 | 2325 | 8925 |
406 | 26 | 253 | 9269 |
170 | 77 | 222 | 9361 |
5590 | 2 | 1769 | 9394 |
6391 | 2 | 3051 | 9718 |
555 | 21 | 1498 | 9951 |
82 | 175 | 2618 | 10450 |
873 | 13 | 217 | 10465 |
1243 | 10 | 1406 | 10915 |
15135 | 1 | 4182 | 10947 |
851 | 18 | 47 | 10998 |
3465 | 5 | 6045 | 11253 |
494 | 26 | 690 | 11635 |
322 | 55 | 5723 | 11682 |
1359 | 11 | 41 | 11726 |
882 | 19 | 4386 | 12255 |
42 | 561 | 6450 | 13889 |
1635 | 9 | 238 | 13923 |
227 | 87 | 4998 | 14210 |
18825 | 1 | 3977 | 14841 |
1246 | 19 | 42 | 16226 |
338 | 62 | 238 | 16275 |
1001 | 19 | 2231 | 16587 |
9810 | 2 | 2871 | 16731 |
1107 | 19 | 105 | 17670 |
1419 | 15 | 77 | 17710 |
1638 | 14 | 3171 | 19630 |
387 | 70 | 6643 | 20002 |
1001 | 23 | 171 | 20079 |
606 | 54 | 91 | 20358 |
7931 | 3 | 3026 | 20737 |
2215 | 13 | 34 | 20774 |
854 | 39 | 70 | 21255 |
4926 | 7 | 12782 | 21663 |
882 | 34 | 95 | 21930 |
11 | 8177 | 8874 | 22243 |
1811 | 13 | 330 | 22295 |
7655 | 3 | 322 | 22425 |
4155 | 6 | 2002 | 22841 |
4770 | 6 | 3718 | 24843 |
873 | 31 | 1495 | 24955 |
102 | 330 | 6083 | 25122 |
442 | 70 | 3905 | 26341 |
15723 | 2 | 3350 | 28073 |
39611 | 1 | 10947 | 28658 |
15334 | 2 | 1575 | 29050 |
2034 | 18 | 7258 | 29223 |
102 | 385 | 1590 | 29309 |
2409 | 13 | 1653 | 29393 |
1638 | 21 | 130 | 29445 |
74 | 598 | 1665 | 29822 |
11 | 11322 | 28379 | 30798 |
10770 | 3 | 551 | 31578 |
535 | 78 | 266 | 31863 |
1170 | 30 | 1743 | 32702 |
702 | 70 | 166 | 34279 |
2345 | 19 | 7599 | 36803 |
6815 | 6 | 3333 | 37471 |
818 | 63 | 187 | 38250 |
8295 | 6 | 10927 | 38802 |
1166 | 39 | 267 | 39338 |
1890 | 34 | 24523 | 39559 |
42 | 1650 | 3553 | 40850 |
22275 | 2 | 3587 | 40934 |
542 | 90 | 6935 | 41026 |
442 | 110 | 742 | 41393 |
1243 | 38 | 295 | 41477 |
495 | 158 | 203 | 43529 |
5251 | 14 | 28455 | 44986 |
24207 | 2 | 2623 | 45750 |
323 | 165 | 4343 | 46662 |
818 | 77 | 15750 | 46750 |
17270 | 3 | 4902 | 46870 |
1691 | 34 | 198 | 48807 |
74 | 1035 | 18538 | 51615 |
563 | 117 | 13090 | 51935 |
10811 | 5 | 306 | 52870 |
2751 | 30 | 29274 | 53095 |
3538 | 19 | 12950 | 54131 |
7262 | 10 | 18315 | 54242 |
70234 | 1 | 14841 | 55386 |
11459 | 5 | 858 | 56095 |
251 | 273 | 1802 | 57187 |
5959 | 10 | 1134 | 57915 |
323 | 215 | 2310 | 60802 |
1235 | 58 | 365 | 61335 |
29806 | 3 | 27807 | 61594 |
2034 | 38 | 153 | 61693 |
3087 | 26 | 18395 | 61694 |
494 | 138 | 2327 | 61755 |
8073 | 13 | 42365 | 62517 |
1886 | 42 | 179 | 63903 |
135 | 703 | 24206 | 66378 |
2147 | 34 | 5775 | 66725 |
38930 | 2 | 10602 | 67239 |
1018 | 95 | 231 | 68134 |
11714 | 6 | 925 | 68894 |
854 | 90 | 935 | 69003 |
2246 | 34 | 6266 | 69615 |
28626 | 3 | 11427 | 74422 |
103690 | 1 | 28658 | 75026 |
1018 | 105 | 30970 | 75306 |
24927 | 5 | 48714 | 75895 |
98 | 1221 | 2950 | 79550 |
8906 | 14 | 44478 | 80131 |
1242 | 70 | 5467 | 80230 |
5738 | 15 | 5502 | 80303 |
5959 | 14 | 715 | 81081 |
90 | 1386 | 35226 | 81473 |
1830 | 66 | 38170 | 82239 |
2146 | 45 | 13330 | 82818 |
135 | 931 | 2553 | 87906 |
1242 | 77 | 1130 | 88253 |
4770 | 22 | 147 | 91091 |
10318 | 10 | 10215 | 92843 |
10811 | 9 | 1555 | 95166 |
57131 | 2 | 16731 | 97513 |
606 | 255 | 54870 | 98294 |
3515 | 30 | 6545 | 98362 |
2345 | 51 | 247 | 98787 |
322 | 485 | 990 | 103014 |
5050 | 26 | 97 | 103402 |
7655 | 14 | 975 | 104650 |
1811 | 66 | 4459 | 113190 |
1170 | 105 | 1970 | 114457 |
98 | 1947 | 52503 | 126850 |
387 | 455 | 1370 | 130013 |
15334 | 9 | 166 | 130725 |
6391 | 27 | 86 | 131193 |
5590 | 29 | 154 | 136213 |
1830 | 110 | 237 | 137065 |
3538 | 50 | 209 | 142450 |
3465 | 65 | 121 | 146289 |
251 | 714 | 22659 | 149566 |
3087 | 65 | 218 | 154235 |
1235 | 146 | 24534 | 154395 |
606 | 465 | 833 | 179242 |
2751 | 102 | 185 | 180523 |
5786 | 47 | 123 | 196554 |
2409 | 87 | 1547 | 196707 |
1190 | 295 | 402 | 201603 |
90 | 3762 | 8701 | 221141 |
4155 | 66 | 753 | 251251 |
2146 | 155 | 963 | 285262 |
10770 | 29 | 1662 | 305254 |
8295 | 49 | 174 | 316883 |
1890 | 274 | 442 | 318799 |
5251 | 105 | 166 | 337395 |
3515 | 105 | 1578 | 344267 |
22275 | 17 | 194 | 347939 |
15135 | 34 | 89 | 372198 |
542 | 855 | 5058 | 389747 |
6815 | 66 | 742 | 412181 |
4926 | 154 | 261 | 476586 |
9810 | 58 | 338 | 485199 |
18825 | 41 | 153 | 608481 |
563 | 1386 | 5499 | 615230 |
15723 | 50 | 419 | 701825 |
7931 | 102 | 699 | 705058 |
8906 | 126 | 227 | 721179 |
11459 | 66 | 4315 | 740454 |
10318 | 90 | 818 | 835587 |
11714 | 75 | 5586 | 861175 |
8073 | 185 | 273 | 889665 |
17270 | 57 | 545 | 890530 |
2147 | 462 | 5338 | 906675 |
28626 | 39 | 254 | 967486 |
24207 | 43 | 750 | 983625 |
2246 | 482 | 5355 | 986895 |
5738 | 210 | 3065 | 1124242 |
38930 | 38 | 241 | 1277541 |
29806 | 93 | 206 | 1909414 |
24927 | 138 | 215 | 2094702 |
7262 | 495 | 1466 | 2684979 |
39611 | 123 | 322 | 3524934 |
70234 | 97 | 362 | 5372442 |
103690 | 89 | 233 | 6677314 |
57131 | 198 | 1154 | 9653787 |
z<10万で211組の(n, x, y, z)がみつかりました。
zが10万以上のものは、それまでの出力で片割れが出てないものを計算してリストに加えてあります。
決してz<1000万まで検索したわけではありません。
リストはプログラムの出力順と同じ、z, x, yの順で昇順にソートしてあります。
というわけで、対にしてnでソートしてみます。
n | x1 | y1 | z1 | x2 | y2 | z2 |
9 | 1 | 1 | 1 | 1 | 1 | 1 |
10 | 1 | 1 | 2 | 1 | 2 | 2 |
11 | 1 | 2 | 3 | 2 | 3 | 6 |
11 | 8177 | 8874 | 22243 | 11322 | 28379 | 30798 |
14 | 2 | 3 | 10 | 3 | 10 | 15 |
15 | 1 | 2 | 6 | 1 | 3 | 6 |
18 | 2 | 3 | 15 | 2 | 10 | 15 |
26 | 1 | 6 | 14 | 3 | 7 | 42 |
30 | 10 | 77 | 165 | 14 | 30 | 231 |
34 | 1 | 6 | 21 | 2 | 7 | 42 |
35 | 3 | 10 | 65 | 6 | 39 | 130 |
38 | 90 | 391 | 2210 | 207 | 1170 | 5083 |
42 | 561 | 6450 | 13889 | 1650 | 3553 | 40850 |
54 | 55 | 595 | 2002 | 85 | 286 | 3094 |
55 | 1 | 14 | 35 | 2 | 5 | 70 |
59 | 2 | 15 | 85 | 6 | 34 | 255 |
63 | 5 | 119 | 170 | 7 | 10 | 238 |
70 | 70 | 551 | 3654 | 95 | 630 | 4959 |
74 | 5 | 22 | 270 | 11 | 135 | 594 |
74 | 598 | 1665 | 29822 | 1035 | 18538 | 51615 |
82 | 119 | 475 | 7106 | 175 | 2618 | 10450 |
90 | 1386 | 35226 | 81473 | 3762 | 8701 | 221141 |
95 | 102 | 2530 | 6545 | 138 | 357 | 8855 |
98 | 1221 | 2950 | 79550 | 1947 | 52503 | 126850 |
102 | 330 | 6083 | 25122 | 385 | 1590 | 29309 |
105 | 1 | 21 | 77 | 3 | 11 | 231 |
126 | 3 | 114 | 247 | 6 | 13 | 494 |
131 | 1 | 35 | 90 | 7 | 18 | 630 |
135 | 703 | 24206 | 66378 | 931 | 2553 | 87906 |
170 | 42 | 1771 | 5106 | 77 | 222 | 9361 |
179 | 3 | 65 | 442 | 15 | 102 | 2210 |
190 | 2 | 21 | 322 | 3 | 46 | 483 |
210 | 26 | 2482 | 2847 | 34 | 39 | 3723 |
227 | 51 | 145 | 8330 | 87 | 4998 | 14210 |
234 | 11 | 51 | 2046 | 17 | 682 | 3162 |
251 | 273 | 1802 | 57187 | 714 | 22659 | 149566 |
294 | 5 | 570 | 874 | 15 | 23 | 2622 |
297 | 5 | 513 | 945 | 19 | 35 | 3591 |
298 | 2 | 85 | 493 | 10 | 58 | 2465 |
319 | 2 | 150 | 475 | 6 | 19 | 1425 |
322 | 55 | 5723 | 11682 | 485 | 990 | 103014 |
323 | 2 | 75 | 550 | 3 | 22 | 825 |
323 | 165 | 4343 | 46662 | 215 | 2310 | 60802 |
326 | 2 | 55 | 570 | 11 | 114 | 3135 |
330 | 1 | 90 | 234 | 5 | 13 | 1170 |
338 | 34 | 2325 | 8925 | 62 | 238 | 16275 |
370 | 1 | 77 | 286 | 7 | 26 | 2002 |
387 | 70 | 6643 | 20002 | 455 | 1370 | 130013 |
406 | 22 | 806 | 7843 | 26 | 253 | 9269 |
442 | 70 | 3905 | 26341 | 110 | 742 | 41393 |
494 | 26 | 690 | 11635 | 138 | 2327 | 61755 |
495 | 14 | 3002 | 3857 | 158 | 203 | 43529 |
535 | 14 | 1677 | 5719 | 78 | 266 | 31863 |
542 | 90 | 6935 | 41026 | 855 | 5058 | 389747 |
555 | 14 | 93 | 6634 | 21 | 1498 | 9951 |
563 | 117 | 13090 | 51935 | 1386 | 5499 | 615230 |
606 | 7 | 1566 | 2639 | 54 | 91 | 20358 |
606 | 255 | 54870 | 98294 | 465 | 833 | 179242 |
670 | 2 | 210 | 1113 | 10 | 53 | 5565 |
702 | 10 | 2065 | 4897 | 70 | 166 | 34279 |
818 | 63 | 187 | 38250 | 77 | 15750 | 46750 |
851 | 1 | 234 | 611 | 18 | 47 | 10998 |
854 | 14 | 4251 | 7630 | 39 | 70 | 21255 |
854 | 10 | 738 | 7667 | 90 | 935 | 69003 |
873 | 13 | 217 | 10465 | 31 | 1495 | 24955 |
882 | 19 | 4386 | 12255 | 34 | 95 | 21930 |
1001 | 19 | 2231 | 16587 | 23 | 171 | 20079 |
1018 | 95 | 231 | 68134 | 105 | 30970 | 75306 |
1107 | 7 | 1178 | 6510 | 19 | 105 | 17670 |
1166 | 3 | 442 | 3026 | 39 | 267 | 39338 |
1170 | 30 | 1743 | 32702 | 105 | 1970 | 114457 |
1190 | 10 | 5015 | 6834 | 295 | 402 | 201603 |
1235 | 58 | 365 | 61335 | 146 | 24534 | 154395 |
1242 | 70 | 5467 | 80230 | 77 | 1130 | 88253 |
1243 | 10 | 1406 | 10915 | 38 | 295 | 41477 |
1246 | 3 | 1159 | 2562 | 19 | 42 | 16226 |
1359 | 1 | 286 | 1066 | 11 | 41 | 11726 |
1419 | 3 | 690 | 3542 | 15 | 77 | 17710 |
1635 | 2 | 117 | 3094 | 9 | 238 | 13923 |
1638 | 21 | 130 | 29445 | 14 | 3171 | 19630 |
1691 | 2 | 493 | 2871 | 34 | 198 | 48807 |
1811 | 13 | 330 | 22295 | 66 | 4459 | 113190 |
1830 | 66 | 38170 | 82239 | 110 | 237 | 137065 |
1886 | 2 | 714 | 3043 | 42 | 179 | 63903 |
1890 | 34 | 24523 | 39559 | 274 | 442 | 318799 |
2034 | 18 | 7258 | 29223 | 38 | 153 | 61693 |
2146 | 45 | 13330 | 82818 | 155 | 963 | 285262 |
2147 | 34 | 5775 | 66725 | 462 | 5338 | 906675 |
2215 | 1 | 611 | 1598 | 13 | 34 | 20774 |
2246 | 34 | 6266 | 69615 | 482 | 5355 | 986895 |
2345 | 19 | 7599 | 36803 | 51 | 247 | 98787 |
2409 | 13 | 1653 | 29393 | 87 | 1547 | 196707 |
2751 | 30 | 29274 | 53095 | 102 | 185 | 180523 |
3087 | 26 | 18395 | 61694 | 65 | 218 | 154235 |
3465 | 5 | 6045 | 11253 | 65 | 121 | 146289 |
3515 | 30 | 6545 | 98362 | 105 | 1578 | 344267 |
3538 | 19 | 12950 | 54131 | 50 | 209 | 142450 |
4155 | 6 | 2002 | 22841 | 66 | 753 | 251251 |
4770 | 6 | 3718 | 24843 | 22 | 147 | 91091 |
4926 | 7 | 12782 | 21663 | 154 | 261 | 476586 |
5050 | 1 | 1066 | 3977 | 26 | 97 | 103402 |
5251 | 14 | 28455 | 44986 | 105 | 166 | 337395 |
5590 | 2 | 1769 | 9394 | 29 | 154 | 136213 |
5738 | 15 | 5502 | 80303 | 210 | 3065 | 1124242 |
5786 | 1 | 1598 | 4182 | 47 | 123 | 196554 |
5959 | 10 | 1134 | 57915 | 14 | 715 | 81081 |
6391 | 2 | 3051 | 9718 | 27 | 86 | 131193 |
6815 | 6 | 3333 | 37471 | 66 | 742 | 412181 |
7262 | 10 | 18315 | 54242 | 495 | 1466 | 2684979 |
7655 | 3 | 322 | 22425 | 14 | 975 | 104650 |
7931 | 3 | 3026 | 20737 | 102 | 699 | 705058 |
8073 | 13 | 42365 | 62517 | 185 | 273 | 889665 |
8295 | 6 | 10927 | 38802 | 49 | 174 | 316883 |
8906 | 14 | 44478 | 80131 | 126 | 227 | 721179 |
9810 | 2 | 2871 | 16731 | 58 | 338 | 485199 |
10318 | 10 | 10215 | 92843 | 90 | 818 | 835587 |
10770 | 3 | 551 | 31578 | 29 | 1662 | 305254 |
10811 | 5 | 306 | 52870 | 9 | 1555 | 95166 |
11459 | 5 | 858 | 56095 | 66 | 4315 | 740454 |
11714 | 6 | 925 | 68894 | 75 | 5586 | 861175 |
15135 | 1 | 4182 | 10947 | 34 | 89 | 372198 |
15334 | 2 | 1575 | 29050 | 9 | 166 | 130725 |
15723 | 2 | 3350 | 28073 | 50 | 419 | 701825 |
17270 | 3 | 4902 | 46870 | 57 | 545 | 890530 |
18825 | 1 | 3977 | 14841 | 41 | 153 | 608481 |
22275 | 2 | 3587 | 40934 | 17 | 194 | 347939 |
24207 | 2 | 2623 | 45750 | 43 | 750 | 983625 |
24927 | 5 | 48714 | 75895 | 138 | 215 | 2094702 |
28626 | 3 | 11427 | 74422 | 39 | 254 | 967486 |
29806 | 3 | 27807 | 61594 | 93 | 206 | 1909414 |
38930 | 2 | 10602 | 67239 | 38 | 241 | 1277541 |
39611 | 1 | 10947 | 28658 | 123 | 322 | 3524934 |
57131 | 2 | 16731 | 97513 | 198 | 1154 | 9653787 |
70234 | 1 | 14841 | 55386 | 97 | 362 | 5372442 |
103690 | 1 | 28658 | 75026 | 89 | 233 | 6677314 |
対にして、135対となりました。
これらのデータをもとに、新たにプログラムの改善を図るわけです。
先の記事に書いた、x, zからnのレンジを求めて、x, z, nからyを求めるという方法が速い理由も、これらのデータを解析すると解るかと思います。
n=11, x=8177, y=8874, z=22243を例にしてみます。
z=22243、x=8177、というところで、他の2つを求める。
y、nの順番で調べると、
x≦y≦zという条件にしているので、そのレンジでyを調べると、z-x+1=14067ループ。
698ループ目で見つかりました。
n、yの順番で調べると、
⌈(x+z+sqrt(xz))(1/x+1/z+1/sqrt(xz))⌉≦n≦⌊(2x+z)(x+2z)/xz⌋ → 11≦n≦11というレンジになり、1ループ。
1ループ目で見つかりました。
これは見つかった例ですが、見つからなければ全てのループを回してしまいます。
では、見つからない例で考えます。
z=99999, x=1のとき、
y、nの順番で調べると、z-x+1=99999ループ。
n、yの順番で調べると、100635≦n≦200003で、99369ループ。
あまり大差はない。
では、xが増えていくとどうなるか。
z=99999、x=2のとき、
y、nの順番で調べると、z-x+1=99998ループ。
n、yの順番で調べると、50450≦n≦100004で、49555ループ。
z=99999、x=3のとき、
y、nの順番で調べると、z-x+1=99997ループ。
n、yの順番で調べると、33702≦n≦66671で、32970ループ。
z=99999、x=4のとき、
y、nの順番で調べると、z-x+1=99996ループ。
n、yの順番で調べると、25319≦n≦50004で、24686ループ。
z=99999、x=5のとき、
y、nの順番で調べると、z-x+1=99995ループ。
n、yの順番で調べると、20286≦n≦40004で、19719ループ。
…
z=99999、x=20872のとき、
y、nの順番で調べると、z-x+1=79128ループ。
n、yの順番で調べると、12≦n≦12で、1ループ。
…
z=99999、x=31387のとき、
y、nの順番で調べると、z-x+1=68615ループ。
n、yの順番で調べると、12≦n≦12で、1ループ。
z=99999、x=31386のとき、
y、nの順番で調べると、z-x+1=68614ループ。
n、yの順番で調べると、12≦n≦11で、0ループ。
…
それぞれのループ数を合計すると、
y、nの順番で調べると、4999950000ループ
n、yの順番で調べると、924936ループ
ループの中での処理にもよるが、10万までで211組しか見つからないわけで、体感で100倍は速いと書いたが、100倍どころか5000倍以上速いわけです。
それでも、10万まで探すのにボロパソコンで丸一日掛かったので、100万まで求めるとしたらと考えるならば、何らかの枝刈りを施さなければならないだろう。
それよりも怖いのは、x≦y≦zという条件下で、xとzを定めると、nはユニーク(一意)になるという仮説で話しを進めてしまっていることだ。
さらに言えば、x、z、nを定めると、yはあっても1組になるというのも仮説です。
最新のプログラムはyが1組ないし片割れが見つかると、nのループをブレイクするようにしている。
これによるデータ抜けがあったとしたら怖いな。
今回のデータが不完全だったとしても、また新たな仮説が立てられそうです。
例えば、(x, y, z)=(1, 1, 1)以外では、z/x>0.5となるものは見つかってない。
更に、(x, y, z)={(1, 1, 2), (1, 2, 2)}がz/x=0.5で、これも除けば、z/x≧0.5は見つかっていないとも言える。
序盤のいくつかを除けば、z/xはもっと小さいのである。
つまり、xのループを半分以下に減らせるということ。
これが、n、yの順で求める方法でも施せる大きな枝刈りになりそうだということ。
ではでは