Skip to content

Instantly share code, notes, and snippets.

@davestewart
Last active April 13, 2017 13:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save davestewart/dc78f91b75a499c6e41ef62466ecedd8 to your computer and use it in GitHub Desktop.
Save davestewart/dc78f91b75a499c6e41ef62466ecedd8 to your computer and use it in GitHub Desktop.
Function to calculate unique Pythagorean triples
// -----------------------------------------------------------------------------
// utils
function isPrime(value)
{
for(var i = 2; i < value; i++)
{
if(value % i === 0)
{
return false;
}
}
return value > 1;
}
function isUnique(x, y, triples)
{
return !triples.some(t => t[0] / x === t[1] / y)
}
function print (arr)
{
console.clear();
console.log(arr.map(triple => triple.join(', ')).join('\n'));
}
// -----------------------------------------------------------------------------
// triangles
function getTriangles (n)
{
var results = [];
var start = 93222358; // first existing factor
var r = Math.sqrt(2);
var first;
var last;
for(var x = start; x <= n; x++)
{
var y = x;
var z = Math.sqrt((x * x) + (y * y));
if (Math.floor(z) === z)
{
if (!first)
{
first = x;
}
results.push([x, y, z, x / first])
last = x;
}
}
return results;
}
function printTriangles (n)
{
print(getTriangles(n))
}
// -----------------------------------------------------------------------------
// triples
function getTriples(n, unique)
{
var triples = [];
for(var x = 1; x <= n; x++)
{
for(var y = x; y <= n; y++)
{
var z = Math.sqrt((x * x) + (y * y));
if (Math.floor(z) === z)
{
if (unique && !isUnique(x, y, triples))
{
continue;
}
triples.push([x, y, z]);
}
}
}
return triples;
}
function printTriples (n, unique)
{
print(getTriples(n, unique));
}
function plotTriples(triples, unique)
{
// to do!
}
// -----------------------------------------------------------------------------
// code
printTriangles(1000000000)
printTriples(1000, true)
// results up to 1,000,000,000² (1bn²)
93222358, 93222358, 131836323
131836323, 131836323, 186444716
170450288, 170450288, 241053109
186444716, 186444716, 263672646
202439144, 202439144, 286292183
209064253, 209064253, 295661502
225058681, 225058681, 318281039
241053109, 241053109, 340900576
247678218, 247678218, 350269895
263672646, 263672646, 372889432
279667074, 279667074, 395508969
318281039, 318281039, 450117362
334275467, 334275467, 472736899
340900576, 340900576, 482106218
356895004, 356895004, 504725755
372889432, 372889432, 527345292
395508969, 395508969, 559334148
404878288, 404878288, 572584366
411503397, 411503397, 581953685
418128506, 418128506, 591323004
427497825, 427497825, 604573222
434122934, 434122934, 613942541
450117362, 450117362, 636562078
459486681, 459486681, 649812296
466111790, 466111790, 659181615
472736899, 472736899, 668550934
482106218, 482106218, 681801152
488731327, 488731327, 691170471
495356436, 495356436, 700539790
504725755, 504725755, 713790008
511350864, 511350864, 723159327
520720183, 520720183, 736409545
527345292, 527345292, 745778864
543339720, 543339720, 768398401
549964829, 549964829, 777767720
552709039, 552709039, 781648619
559334148, 559334148, 791017938
565959257, 565959257, 800387257
575328576, 575328576, 813637475
581953685, 581953685, 823006794
597948113, 597948113, 845626331
613942541, 613942541, 868245868
620567650, 620567650, 877615187
627192759, 627192759, 886984506
636562078, 636562078, 900234724
652556506, 652556506, 922854261
668550934, 668550934, 945473798
675176043, 675176043, 954843117
681801152, 681801152, 964212436
691170471, 691170471, 977462654
697795580, 697795580, 986831973
707164899, 707164899, 1000082191
713790008, 713790008, 1009451510
729784436, 729784436, 1032071047
736409545, 736409545, 1041440366
745778864, 745778864, 1054690584
752403973, 752403973, 1064059903
761773292, 761773292, 1077310121
765654191, 765654191, 1082798541
768398401, 768398401, 1086679440
771142611, 771142611, 1090560339
775023510, 775023510, 1096048759
781648619, 781648619, 1105418078
784392829, 784392829, 1109298977
791017938, 791017938, 1118668296
793762148, 793762148, 1122549195
797643047, 797643047, 1128037615
800387257, 800387257, 1131918514
807012366, 807012366, 1141287833
809756576, 809756576, 1145168732
813637475, 813637475, 1150657152
816381685, 816381685, 1154538051
820262584, 820262584, 1160026471
823006794, 823006794, 1163907370
829631903, 829631903, 1173276689
832376113, 832376113, 1177157588
836257012, 836257012, 1182646008
839001222, 839001222, 1186526907
845626331, 845626331, 1195896226
848370541, 848370541, 1199777125
852251440, 852251440, 1205265545
854995650, 854995650, 1209146444
858876549, 858876549, 1214634864
861620759, 861620759, 1218515763
868245868, 868245868, 1227885082
870990078, 870990078, 1231765981
874870977, 874870977, 1237254401
877615187, 877615187, 1241135300
884240296, 884240296, 1250504619
890865405, 890865405, 1259873938
893609615, 893609615, 1263754837
900234724, 900234724, 1273124156
902978934, 902978934, 1277005055
906859833, 906859833, 1282493475
909604043, 909604043, 1286374374
916229152, 916229152, 1295743693
918973362, 918973362, 1299624592
922854261, 922854261, 1305113012
929479370, 929479370, 1314482331
932223580, 932223580, 1318363230
938848689, 938848689, 1327732549
945473798, 945473798, 1337101868
948218008, 948218008, 1340982767
954843117, 954843117, 1350352086
961468226, 961468226, 1359721405
964212436, 964212436, 1363602304
968093335, 968093335, 1369090724
970837545, 970837545, 1372971623
977462654, 977462654, 1382340942
980206864, 980206864, 1386221841
984087763, 984087763, 1391710261
986831973, 986831973, 1395591160
990712872, 990712872, 1401079580
993457082, 993457082, 1404960479
// results up to 1000²
3,4,5
5,12,13
7,24,25
8,15,17
9,40,41
11,60,61
12,35,37
13,84,85
15,112,113
16,63,65
17,144,145
19,180,181
20,21,29
20,99,101
21,220,221
23,264,265
24,143,145
25,312,313
27,364,365
28,45,53
28,195,197
29,420,421
31,480,481
32,255,257
33,56,65
33,544,545
35,612,613
36,77,85
36,323,325
37,684,685
39,80,89
39,760,761
40,399,401
41,840,841
43,924,925
44,117,125
44,483,485
45,1012,1013
47,1104,1105
48,55,73
48,575,577
49,1200,1201
51,140,149
51,1300,1301
52,165,173
52,675,677
53,1404,1405
55,1512,1513
56,783,785
57,176,185
57,1624,1625
59,1740,1741
60,91,109
60,221,229
60,899,901
61,1860,1861
63,1984,1985
64,1023,1025
65,72,97
65,2112,2113
67,2244,2245
68,285,293
68,1155,1157
69,260,269
69,2380,2381
71,2520,2521
72,1295,1297
73,2664,2665
75,308,317
75,2812,2813
76,357,365
76,1443,1445
77,2964,2965
79,3120,3121
80,1599,1601
81,3280,3281
83,3444,3445
84,187,205
84,437,445
84,1763,1765
85,132,157
85,3612,3613
87,416,425
87,3784,3785
88,105,137
88,1935,1937
89,3960,3961
91,4140,4141
92,525,533
92,2115,2117
93,476,485
93,4324,4325
95,168,193
95,4512,4513
96,247,265
96,2303,2305
97,4704,4705
99,4900,4901
100,621,629
100,2499,2501
101,5100,5101
103,5304,5305
104,153,185
104,2703,2705
105,208,233
105,608,617
105,5512,5513
107,5724,5725
108,725,733
108,2915,2917
109,5940,5941
111,680,689
111,6160,6161
112,3135,3137
113,6384,6385
115,252,277
115,6612,6613
116,837,845
116,3363,3365
117,6844,6845
119,120,169
119,7080,7081
120,209,241
120,391,409
120,3599,3601
121,7320,7321
123,836,845
123,7564,7565
124,957,965
124,3843,3845
125,7812,7813
127,8064,8065
128,4095,4097
129,920,929
129,8320,8321
131,8580,8581
132,475,493
132,1085,1093
132,4355,4357
133,156,205
133,8844,8845
135,352,377
135,9112,9113
136,273,305
136,4623,4625
137,9384,9385
139,9660,9661
140,171,221
140,1221,1229
140,4899,4901
141,1100,1109
141,9940,9941
144,5183,5185
145,408,433
147,1196,1205
148,1365,1373
148,5475,5477
152,345,377
152,5775,5777
155,468,493
156,667,685
156,1517,1525
156,6083,6085
159,1400,1409
160,231,281
160,6399,6401
161,240,289
164,1677,1685
164,6723,6725
165,532,557
165,1508,1517
168,425,457
168,775,793
168,7055,7057
172,1845,1853
172,7395,7397
175,288,337
176,7743,7745
177,1736,1745
180,299,349
180,2021,2029
180,8099,8101
183,1856,1865
184,513,545
184,8463,8465
185,672,697
188,2205,2213
188,8835,8837
189,340,389
192,1015,1033
192,9215,9217
195,748,773
195,2108,2117
196,2397,2405
196,9603,9605
200,609,641
200,9999,10001
201,2240,2249
203,396,445
204,253,325
204,1147,1165
204,2597,2605
205,828,853
207,224,305
212,2805,2813
213,2516,2525
215,912,937
216,713,745
217,456,505
219,2660,2669
220,459,509
220,3021,3029
225,272,353
228,325,397
228,1435,1453
228,3245,3253
231,520,569
231,2960,2969
232,825,857
235,1092,1117
236,3477,3485
237,3116,3125
240,551,601
240,1591,1609
244,3717,3725
245,1188,1213
248,945,977
249,3440,3449
252,275,373
252,3965,3973
255,1288,1313
255,3608,3617
259,660,709
260,651,701
260,4221,4229
261,380,461
264,1073,1105
264,1927,1945
265,1392,1417
267,3956,3965
268,4485,4493
273,736,785
273,4136,4145
276,493,565
276,2107,2125
276,4757,4765
279,440,521
280,351,449
280,759,809
280,1209,1241
284,5037,5045
285,1612,1637
285,4508,4517
287,816,865
291,4700,4709
292,5325,5333
295,1728,1753
296,1353,1385
297,304,425
300,589,661
300,2491,2509
300,5621,5629
301,900,949
303,5096,5105
305,1848,1873
308,435,533
308,5925,5933
309,5300,5309
312,1505,1537
312,2695,2713
315,572,653
315,988,1037
315,1972,1997
316,6237,6245
319,360,481
320,999,1049
321,5720,5729
324,6557,6565
327,5936,5945
328,1665,1697
329,1080,1129
332,6885,6893
333,644,725
335,2232,2257
336,377,505
336,527,625
336,3127,3145
339,6380,6389
340,1131,1181
340,7221,7229
341,420,541
344,1833,1865
345,2368,2393
345,6608,6617
348,805,877
348,3355,3373
348,7565,7573
355,2508,2533
356,7917,7925
357,1276,1325
357,7076,7085
360,1271,1321
360,2009,2041
363,7316,7325
364,627,725
364,8277,8285
365,2652,2677
368,465,593
369,800,881
371,1380,1429
372,925,997
372,3835,3853
372,8645,8653
375,7808,7817
376,2193,2225
380,1419,1469
380,9021,9029
381,8060,8069
384,4087,4105
385,552,673
385,1488,1537
385,2952,2977
387,884,965
388,9405,9413
392,2385,2417
393,8576,8585
395,3108,3133
396,403,565
396,9797,9805
399,1600,1649
399,8840,8849
400,561,689
405,3268,3293
407,624,745
408,2585,2617
408,4615,4633
411,9380,9389
413,1716,1765
415,3432,3457
417,9656,9665
420,851,949
420,1189,1261
420,1739,1789
420,4891,4909
423,1064,1145
424,2793,2825
427,1836,1885
429,460,629
429,700,821
432,665,793
435,3772,3797
440,1911,1961
440,3009,3041
441,1160,1241
444,1333,1405
444,5467,5485
445,3948,3973
448,975,1073
451,780,901
455,528,697
455,2088,2137
455,4128,4153
456,3233,3265
456,5767,5785
460,2091,2141
464,777,905
465,4312,4337
468,595,757
469,2220,2269
472,3465,3497
473,864,985
476,1107,1205
477,1364,1445
480,2279,2329
480,6391,6409
481,600,769
483,2356,2405
485,4692,4717
488,3705,3737
492,1645,1717
492,6715,6733
495,952,1073
495,1472,1553
495,4888,4913
496,897,1025
497,2496,2545
504,703,865
504,1247,1345
504,3953,3985
505,5088,5113
511,2640,2689
515,5292,5317
516,1813,1885
516,7387,7405
517,1044,1165
520,2679,2729
520,4209,4241
525,2788,2837
528,1025,1153
528,7735,7753
531,1700,1781
532,1395,1493
533,756,925
535,5712,5737
536,4473,4505
539,1140,1261
540,629,829
540,2891,2941
545,5928,5953
549,1820,1901
552,4745,4777
552,8455,8473
553,3096,3145
555,572,797
555,6148,6173
559,840,1009
560,1161,1289
560,1551,1649
560,3111,3161
561,1240,1361
564,2173,2245
564,8827,8845
565,6372,6397
567,3256,3305
568,5025,5057
576,943,1105
580,741,941
580,3339,3389
581,3420,3469
583,1344,1465
584,5313,5345
585,928,1097
585,2072,2153
585,6832,6857
588,2365,2437
588,9595,9613
592,1305,1433
595,3588,3637
595,7068,7093
600,5609,5641
600,9991,10009
603,2204,2285
605,7308,7333
609,3760,3809
611,1020,1189
612,1075,1237
615,728,953
615,7552,7577
616,663,905
616,1887,1985
616,5913,5945
620,861,1061
620,3819,3869
623,3936,3985
624,1457,1585
627,1564,1685
632,6225,6257
635,8052,8077
636,2773,2845
637,1116,1285
639,2480,2561
640,4071,4121
644,2067,2165
645,812,1037
645,8308,8333
648,6545,6577
649,1680,1801
651,4300,4349
655,8568,8593
656,1617,1745
657,2624,2705
660,779,1021
660,989,1189
660,2989,3061
660,4331,4381
663,1216,1385
664,6873,6905
665,4488,4537
665,8832,8857
671,1800,1921
672,2255,2353
679,4680,4729
680,4599,4649
680,7209,7241
684,1363,1525
685,9372,9397
688,1785,1913
689,1320,1489
693,1924,2045
693,2924,3005
693,4876,4925
695,9648,9673
696,697,985
696,7553,7585
700,2451,2549
704,903,1145
705,992,1217
705,9928,9953
707,5076,5125
708,3445,3517
711,3080,3161
712,7905,7937
715,1428,1597
715,2052,2173
720,1519,1681
720,1961,2089
720,5159,5209
721,5280,5329
728,2655,2753
728,8265,8297
731,780,1069
732,3685,3757
735,1088,1313
737,2184,2305
740,1269,1469
740,5451,5501
741,1540,1709
744,817,1105
744,8633,8665
747,3404,3485
748,1035,1277
749,5700,5749
752,2145,2273
756,2867,2965
759,2320,2441
760,5751,5801
760,9009,9041
763,5916,5965
765,868,1157
765,3572,3653
767,1656,1825
776,9393,9425
777,6136,6185
780,1421,1621
780,4189,4261
780,6059,6109
781,2460,2581
784,2337,2465
791,6360,6409
792,1175,1417
792,1855,2017
792,9785,9817
793,1776,1945
795,1292,1517
799,960,1249
801,3920,4001
803,2604,2725
804,4453,4525
805,6588,6637
812,3315,3413
816,2537,2665
819,1900,2069
819,4100,4181
819,6820,6869
820,1581,1781
820,6699,6749
825,2752,2873
828,2035,2197
832,855,1193
833,1056,1345
836,1323,1565
840,1081,1369
840,3551,3649
840,7031,7081
847,7296,7345
848,2745,2873
852,5005,5077
855,4472,4553
860,1749,1949
860,7371,7421
861,7540,7589
868,3795,3893
869,3060,3181
871,2160,2329
873,4664,4745
875,7788,7837
876,5293,5365
880,1479,1721
880,2961,3089
880,7719,7769
884,987,1325
885,1628,1853
888,1225,1513
889,8040,8089
891,3220,3341
893,924,1285
896,4047,4145
897,2296,2465
900,2419,2581
901,1260,1549
903,8296,8345
909,5060,5141
912,3185,3313
913,3384,3505
915,1748,1973
917,8556,8605
920,8439,8489
923,2436,2605
924,1643,1885
924,4307,4405
924,5893,5965
927,5264,5345
931,1020,1381
935,1368,1657
935,3552,3673
936,1127,1465
936,2623,2785
940,2109,2309
940,8811,8861
944,3417,3545
945,9088,9137
948,6205,6277
949,2580,2749
952,4575,4673
957,3724,3845
959,9360,9409
960,9191,9241
963,5684,5765
969,1120,1481
969,1480,1769
973,9636,9685
975,2728,2897
976,3657,3785
979,3900,4021
980,2301,2501
980,9579,9629
981,5900,5981
984,1537,1825
987,9916,9965
988,1275,1613
996,6853,6925
1001,2880,3049
1001,4080,4201
1003,1596,1885
1005,2132,2357
1007,1224,1585
1008,3055,3217
1008,3905,4033
1008,5135,5233
1012,1995,2237
1017,6344,6425
1020,2501,2701
1020,7189,7261
1023,4264,4385
1027,3036,3205
1032,1705,1993
1035,6572,6653
1036,1173,1565
1036,5427,5525
1037,1716,2005
1040,1431,1769
1040,4161,4289
1044,3283,3445
1045,1332,1693
1045,4452,4573
1053,3196,3365
1056,2183,2425
1060,2709,2909
1064,5727,5825
1065,2408,2633
1067,4644,4765
1068,7885,7957
1071,1840,2129
1071,7040,7121
1072,4425,4553
1079,3360,3529
1089,7280,7361
1092,1325,1717
1092,1595,1933
1092,6035,6133
1092,8245,8317
1095,2552,2777
1100,2379,2621
1104,4697,4825
1105,1968,2257
1105,3528,3697
1111,5040,5161
1113,1184,1625
1116,3763,3925
1120,6351,6449
1121,1560,1921
1125,7772,7853
1128,2065,2353
1131,3700,3869
1133,5244,5365
1136,4977,5105
1139,2100,2389
1140,1219,1669
1140,3149,3349
1140,8989,9061
1143,8024,8105
1144,1767,2105
1144,2583,2825
1148,1485,1877
1148,6675,6773
1152,4015,4177
1155,1292,1733
1155,2852,3077
1155,5452,5573
1157,3876,4045
1159,1680,2041
1164,9373,9445
1168,5265,5393
1173,2236,2525
1176,2257,2545
1177,5664,5785
1179,8540,8621
1180,3381,3581
1185,3008,3233
1188,2795,3037
1196,1947,2285
1197,1804,2165
1197,8804,8885
1199,5880,6001
1200,5561,5689
1204,1653,2045
1204,7347,7445
1207,2376,2665
1209,4240,4409
1220,3621,3821
1221,6100,6221
1224,4543,4705
1232,3015,3257
1232,5865,5993
1232,7695,7793
1233,9344,9425
1235,1932,2293
1235,4428,4597
1239,1520,1961
1241,2520,2809
1243,6324,6445
1245,3332,3557
1248,1265,1777
1248,2135,2473
1251,9620,9701
1260,1829,2221
1260,3869,4069
1260,4819,4981
1260,8051,8149
1261,4620,4789
1264,6177,6305
1265,6552,6673
1272,2665,2953
1273,2064,2425
1275,2668,2957
1276,3243,3485
1281,1640,2081
1287,4816,4985
1287,6784,6905
1288,8415,8513
1296,6497,6625
1300,2331,2669
1309,2820,3109
1309,7020,7141
1311,1360,1889
1311,2200,2561
1312,1425,1937
1313,5016,5185
1316,2013,2405
1316,8787,8885
1320,1711,2161
1320,2881,3169
1320,3479,3721
1328,6825,6953
1332,5395,5557
1335,3848,4073
1339,5220,5389
1340,4389,4589
1343,2976,3265
1344,9167,9265
1349,2340,2701
1353,7504,7625
1357,1476,2005
1360,7161,7289
1364,3723,3965
1365,1892,2333
1365,4028,4253
1365,5428,5597
1368,5695,5857
1375,7752,7873
1376,1593,2105
1377,3136,3425
1380,1891,2341
1380,4661,4861
1387,2484,2845
1391,5640,5809
1392,7505,7633
1397,8004,8125
1400,9951,10049
1403,1596,2125
1404,2747,3085
1407,2024,2465
1408,3975,4217
1411,3300,3589
1416,3337,3625
1417,5856,6025
1419,8260,8381
1420,4941,5141
1424,7857,7985
1425,2632,2993
1428,1475,2053
1428,2405,2797
1440,1769,2281
1440,6319,6481
1441,8520,8641
1443,6076,6245
1449,1720,2249
1455,4592,4817
1456,2967,3305
1456,8217,8345
1460,5229,5429
1463,2784,3145
1463,8784,8905
1464,3577,3865
1469,6300,6469
1476,6643,6805
1479,3640,3929
1484,2613,3005
1485,9052,9173
1488,8585,8713
1491,2300,2741
1495,1848,2377
1495,6528,6697
1496,1647,2225
1496,4503,4745
1501,2940,3301
1504,1953,2465
1507,9324,9445
1508,3195,3533
1513,3816,4105
1515,4988,5213
1520,8961,9089
1525,1548,2173
1529,9600,9721
1533,2444,2885
1539,3100,3461
1540,2829,3221
1540,4779,5021
1540,5829,6029
1541,1980,2509
1545,5192,5417
1547,3996,4285
1547,6996,7165
1548,7315,7477
1551,9880,10001
1552,9345,9473
1560,2479,2929
1560,3431,3769
1560,4081,4369
1564,1827,2405
1568,2145,2657
1573,7236,7405
1575,1672,2297
1577,3264,3625
1580,6141,6341
1581,4180,4469
1584,5063,5305
1584,7663,7825
1584,9737,9865
1596,3053,3445
1599,7480,7649
1605,5612,5837
1608,4345,4633
1612,3675,4013
1615,3432,3793
1615,4368,4657
1620,6461,6661
1625,7728,7897
1628,5355,5597
1632,2015,2593
1632,2345,2857
1633,2256,2785
1635,5828,6053
1649,4560,4849
1651,7980,8149
1652,3285,3677
1653,3604,3965
1656,8383,8545
1659,2900,3341
1660,6789,6989
1664,3927,4265
1672,5655,5897
1675,1932,2557
1677,8236,8405
1679,2400,2929
1680,2911,3361
1683,4756,5045
1691,3780,4141
1692,1885,2533
1692,8755,8917
1695,6272,6497
1696,2553,3065
1700,2211,2789
1703,8496,8665
1704,4897,5185
1708,3525,3917
1716,4187,4525
1716,5963,6205
1717,4956,5245
1725,2068,2693
1725,2548,3077
1729,3960,4321
1729,8760,8929
1740,3139,3589
1740,7469,7669
1743,3224,3665
1748,1755,2477
1751,5160,5449
1752,5185,5473
1755,9028,9197
1760,2769,3281
1760,6279,6521
1764,2077,2725
1764,9523,9685
1767,4144,4505
1768,2415,2993
1768,4455,4793
1771,2700,3229
1775,2208,2833
1780,7821,8021
1781,9300,9469
1785,3392,3833
1785,5368,5657
1785,6968,7193
1800,9919,10081
1804,6603,6845
1807,9576,9745
1809,1880,2609
1815,7208,7433
1817,2856,3385
1819,5580,5869
1820,4029,4421
1820,4731,5069
1820,8181,8381
1824,1943,2665
1824,2993,3505
1825,2352,2977
1833,9856,10025
1836,2627,3205
1843,4524,4885
1848,5785,6073
1848,6935,7177
1853,5796,6085
1860,3619,4069
1860,8549,8749
1863,3016,3545
1869,3740,4181
1872,5015,5353
1876,4293,4685
1881,4720,5081
1887,6016,6305
1888,3225,3737
1892,7275,7517
1896,6097,6385
1900,2139,2861
1904,2847,3425
1905,7952,8177
1908,2485,3133
1909,3180,3709
1917,2156,2885
1919,4920,5281
1920,3871,4321
1921,6240,6529
1924,5307,5645
1925,2652,3277
1932,4565,4957
1940,9309,9509
1952,3465,3977
1955,3348,3877
1955,6468,6757
1957,5124,5485
1960,2001,2801
1965,8468,8693
1971,2300,3029
1972,3075,3653
1975,2808,3433
1976,2343,3065
1976,5607,5945
1980,2701,3349
1980,7979,8221
1980,9701,9901
1988,4845,5237
1989,6700,6989
1992,6745,7033
1995,4292,4733
1995,5332,5693
1995,8732,8957
2001,3520,4049
2016,3713,4225
2024,8343,8585
2025,2968,3593
2033,5544,5905
2037,4484,4925
2040,2201,3001
2040,3311,3889
2040,4399,4849
2040,7081,7369
2044,5133,5525
2047,3696,4225
2052,2555,3277
2055,9272,9497
2057,7176,7465
2059,2100,2941
2068,8715,8957
2071,5760,6121
2075,3132,3757
2079,2600,3329
2080,3969,4481
2080,6231,6569
2085,9548,9773
2091,7420,7709
2093,3876,4405
2100,5429,5821
2108,3555,4133
2109,5980,6341
2112,9095,9337
2117,2244,3085
2120,2409,3209
2121,4880,5321
2124,3157,3805
2125,7668,7957
2128,2775,3497
2132,6555,6893
2133,2756,3485
2136,7777,8065
2139,4060,4589
2144,4233,4745
2147,6204,6565
2156,9483,9725
2159,7920,8209
2163,5084,5525
2175,2392,3233
2175,3472,4097
2176,3807,4385
2184,2263,3145
2184,6887,7225
2184,8137,8425
2185,4248,4777
2185,6432,6793
2193,8176,8465
2196,3397,4045
2200,9879,10121
2204,3003,3725
2208,4505,5017
2212,6045,6437
2220,5251,5701
2223,6664,7025
2225,3648,4273
2227,8436,8725
2231,4440,4969
2233,2544,3385
2236,7227,7565
2241,3080,3809
2244,4067,4645
2247,5504,5945
2261,6900,7261
2261,8700,8989
2268,6365,6757
2272,4785,5297
2275,3828,4453
2277,4636,5165
2280,2849,3649
2280,3239,3961
2280,5551,6001
2280,8881,9169
2288,7575,7913
2289,5720,6161
2291,2700,3541
2295,3248,3977
2295,8968,9257
2299,7140,7501
2323,4836,5365
2324,6693,7085
2325,2332,3293
2325,4012,4637
2328,9265,9553
2329,9240,9529
2336,5073,5585
2337,7384,7745
2340,3901,4549
2340,7931,8269
2349,2860,3701
2356,3483,4205
2360,3081,3881
2363,9516,9805
2369,5040,5569
2373,6164,6605
2375,7632,7993
2380,4611,5189
2380,7029,7421
2387,2484,3445
2392,8295,8633
2397,9796,10085
2400,5369,5881
2403,3596,4325
2407,3024,3865
2412,4165,4813
2413,7884,8245
2415,5248,5777
2415,6392,6833
2425,4392,5017
2432,3735,4457
2436,2923,3805
2436,7373,7765
2440,3321,4121
2444,8667,9005
2448,4895,5473
2449,2640,3601
2451,8140,8501
2457,3776,4505
2460,6499,6949
2461,5460,5989
2464,5673,6185
2465,3192,4033
2475,4588,5213
2489,8400,8761
2492,7725,8117
2496,9047,9385
2507,5676,6205
2508,2765,3733
2508,3995,4717
2511,2800,3761
2516,5187,5765
2520,3569,4369
2525,4788,5413
2528,5985,6497
2541,7100,7541
2548,9435,9773
2553,5896,6425
2556,4717,5365
2565,4148,4877
2565,8932,9293
2573,2964,3925
2575,4992,5617
2576,2607,3665
2580,7171,7621
2581,3540,4381
2584,4263,4985
2584,5487,6065
2592,6305,6817
2596,2997,3965
2599,6120,6649
2600,9831,10169
2603,9204,9565
2604,3403,4285
2604,8453,8845
2619,4340,5069
2625,7592,8033
2628,5005,5653
2635,3132,4093
2639,3720,4561
2640,7519,7969
2641,9480,9841
2652,5795,6373
2656,6633,7145
2660,4539,5261
2660,8829,9221
2667,7844,8285
2668,2835,3893
2675,5412,6037
2679,9760,10121
2680,4089,4889
2684,3237,4205
2688,3655,4537
2691,6580,7109
2697,3304,4265
2697,3904,4745
2716,9213,9605
2720,6111,6689
2720,6969,7481
2725,5628,6253
2727,4736,5465
2736,4823,5545
2737,6816,7345
2739,2900,3989
2751,8360,8801
2755,4092,4933
2759,3480,4441
2760,3071,4129
2760,4361,5161
2760,8239,8689
2772,3485,4453
2772,5605,6253
2772,9605,9997
2775,5848,6473
2781,4940,5669
2783,7056,7585
2784,7313,7825
2788,6435,7013
2805,3068,4157
2812,5115,5837
2813,4284,5125
2820,8611,9061
2821,3660,4621
2825,6072,6697
2829,7300,7829
2832,2905,4057
2840,4641,5441
2844,5917,6565
2848,7665,8177
2852,3315,4373
2856,4183,5065
2856,6767,7345
2860,3741,4709
2871,4480,5321
2875,7548,8077
2877,9164,9605
2889,5360,6089
2912,8025,8537
2919,9440,9881
2920,4929,5729
2921,7800,8329
2924,7107,7685
2925,6532,7157
2928,3145,4297
2929,4680,5521
2937,3416,4505
2940,9379,9829
2943,5576,6305
2944,3567,4625
2945,4032,4993
2948,4005,4973
2964,5723,6445
2967,8056,8585
2975,6768,7393
2976,8393,8905
2987,4884,5725
2988,6565,7213
2992,7455,8033
3003,3596,4685
3007,4224,5185
3013,8316,8845
3025,7008,7633
3036,3827,4885
3036,4277,5245
3040,6039,6761
3040,8769,9281
3045,3172,4397
3045,5092,5933
3051,6020,6749
3059,8580,9109
3060,6901,7549
3060,7811,8389
3069,4420,5381
3075,7252,7877
3080,5529,6329
3100,3219,4469
3103,5304,6145
3104,9153,9665
3105,6248,6977
3105,8848,9377
3108,5035,5917
3115,3348,4573
3116,6363,7085
3120,3649,4801
3124,4557,5525
3128,4095,5153
3128,8175,8753
3131,4620,5581
3135,3968,5057
3151,9120,9649
3160,5841,6641
3161,5520,6361
3168,9545,10057
3175,7752,8377
3192,5335,6217
3192,6695,7417
3193,4824,5785
3196,8547,9125
3197,9396,9925
3200,3471,4721
3201,4160,5249
3204,7597,8245
3212,4845,5813
3213,6716,7445
3216,3913,5065
3219,5740,6581
3220,4371,5429
3225,8008,8633
3232,9945,10457
3240,6161,6961
3243,9676,10205
3255,3712,4937
3255,5032,5993
3264,8927,9505
3267,6956,7685
3268,7035,7757
3275,8268,8893
3276,3293,4645
3276,7957,8605
3277,5964,6805
3289,9960,10489
3300,3731,4981
3300,5141,6109
3312,4655,5713
3317,5244,6205
3320,6489,7289
3325,8532,9157
3332,9315,9893
3333,4556,5645
3335,6192,7033
3344,7383,8105
3360,5959,6841
3367,3456,4825
3375,7448,8177
3379,5460,6421
3393,6424,7265
3395,4092,5317
3399,4760,5849
3400,3999,5249
3400,9711,10289
3404,4947,6005
3408,4465,5617
3420,7739,8461
3420,8701,9349
3425,9072,9697
3429,7700,8429
3441,3640,5009
3441,5680,6641
3444,6283,7165
3451,6660,7501
3465,4288,5513
3475,9348,9973
3476,5757,6725
3480,7169,7969
3484,3813,5165
3492,9085,9733
3496,5247,6305
3496,8103,8825
3503,5904,6865
3504,4753,5905
3509,6900,7741
3515,3828,5197
3525,9628,10253
3531,5180,6269
3535,4488,5713
3537,8216,8945
3560,7521,8321
3564,6077,7045
3565,6132,7093
3567,7144,7985
3572,8475,9197
3575,9912,10537
3588,4085,5437
3588,5555,6613
3589,4020,5389
3591,8480,9209
3597,5396,6485
3600,4559,5809
3605,4692,5917
3612,6955,7837
3625,7392,8233
3627,6364,7325
3636,9877,10525
3640,7881,8681
3648,8855,9577
3652,6405,7373
3663,4216,5585
3672,3895,5353
3680,5871,6929
3683,7644,8485
3689,6600,7561
3692,4365,5717
3696,5353,6505
3696,7303,8185
3699,9020,9749
3700,4851,6101
3705,3752,5273
3720,8249,9049
3724,9243,9965
3729,5840,6929
3737,4416,5785
3740,6741,7709
3741,7900,8741
3745,5112,6337
3751,6840,7801
3753,9296,10025
3772,6195,7253
3780,4171,5629
3783,3944,5465
3792,5665,6817
3795,6068,7157
3796,4653,6005
3799,8160,9001
3800,5151,6401
3800,9639,10361
3811,4620,5989
3813,7084,8045
3815,5328,6553
3828,7085,8053
3857,8424,9265
3861,9860,10589
3864,3977,5545
3864,6527,7585
3864,8023,8905
3875,7332,8293
3880,9009,9809
3885,4828,6197
3885,5548,6773
3900,4949,6301
3900,5459,6709
3915,8692,9533
3916,7437,8405
3927,6536,7625
3937,7584,8545
3939,4340,5861
3948,8395,9277
3955,5772,6997
3956,6867,7925
3959,5040,6409
3960,9401,10201
3973,8964,9805
3976,4257,5825
3984,6313,7465
3996,4747,6205
3999,7840,8801
4004,5253,6605
4004,7797,8765
4017,4544,6065
4031,9240,10081
4033,5256,6625
4040,9801,10601
4048,7215,8273
4059,4060,5741
4061,8100,9061
4080,6649,7801
4088,4545,6113
4089,9520,10361
4092,8165,9133
4095,6232,7457
4100,6099,7349
4104,5047,6505
4108,5565,6917
4123,8364,9325
4125,7268,8357
4140,7571,8629
4141,4260,5941
4147,9804,10645
4173,4964,6485
4176,4343,6025
4180,8541,9509
4181,5700,7069
4185,8632,9593
4191,7520,8609
4200,4841,6409
4200,6431,7681
4200,9559,10441
4212,5885,7237
4223,4464,6145
4235,6708,7933
4247,8904,9865
4251,5180,6701
4255,5928,7297
4268,8925,9893
4272,7345,8497
4292,4635,6317
4300,6771,8021
4305,4672,6353
4305,6952,8177
4309,9180,10141
4316,6213,7565
4320,5671,7129
4323,8036,9125
4324,8307,9365
4329,6160,7529
4368,7705,8857
4371,9460,10421
4380,4429,6229
4387,4884,6565
4389,8300,9389
4400,7119,8369
4403,6396,7765
4407,5624,7145
4408,4935,6617
4416,8687,9745
4420,6549,7901
4424,5457,7025
4428,5995,7453
4433,9744,10705
4444,9717,10685
4445,7452,8677
4469,5100,6781
4477,6636,8005
4485,5852,7373
4508,9075,10133
4515,4588,6437
4515,7708,8933
4521,8840,9929
4524,5243,6925
4524,6893,8245
4536,5777,7345
4551,5320,7001
4551,6880,8249
4560,8449,9601
4585,7968,9193
4587,9116,10205
4600,7839,9089
4600,9471,10529
4601,4800,6649
4620,5029,6829
4625,7128,8497
4628,7245,8597
4633,5544,7225
4640,5559,7241
4641,6320,7841
4644,6667,8125
4648,6105,7673
4656,8833,9985
4687,5016,6865
4692,9875,10933
4699,7380,8749
4700,8211,9461
4712,4815,6737
4715,5772,7453
4719,6560,8081
4740,5341,7141
4752,7015,8473
4756,5883,7565
4760,6441,8009
4773,5236,7085
4773,7636,9005
4785,9968,11057
4795,8772,9997
4797,6004,7685
4800,8591,9841
4836,5123,7045
4836,7973,9325
4847,7896,9265
4848,9625,10777
4859,5460,7309
4865,9048,10273
4872,6215,7897
4872,6785,8353
4875,7052,8573
4879,6240,7921
4900,8979,10229
4905,4928,6953
4921,8160,9529
4935,9328,10553
4940,8349,9701
4945,5688,7537
4953,7304,8825
4960,5439,7361
4961,6480,8161
4968,7735,9193
4980,5989,7789
4984,7137,8705
4988,6555,8237
4995,8428,9797
5005,9612,10837
5031,5920,7769
5044,8733,10085
5056,5217,7265
5069,8700,10069
5076,8107,9565
5084,5763,7685
5085,5372,7397
5100,9779,11029
5104,6903,8585
5109,7820,9341
5117,6156,8005
5125,6972,8653
5143,8976,10345
5148,9125,10477
5184,5537,7585
5187,8084,9605
5203,6396,8245
5207,7224,8905
5208,6095,8017
5208,7865,9433
5217,9256,10625
5220,7259,8941
5252,9525,10877
5280,5311,7489
5289,6640,8489
5289,7480,9161
5291,9540,10909
5292,8875,10333
5312,5865,7913
5320,8241,9809
5332,6435,8357
5336,7623,9305
5340,7021,8821
5343,8624,10145
5355,6068,8093
5356,9933,11285
5365,9828,11197
5371,7740,9421
5375,6888,8737
5400,9271,10729
5405,5508,7717
5412,5635,7813
5421,8900,10421
5432,8625,10193
5440,6201,8249
5445,6308,8333
5452,7995,9677
5453,8004,9685
5456,6783,8705
5460,7381,9181
5461,7140,8989
5499,5740,7949
5535,8272,9953
5544,9017,10585
5568,6545,8593
5568,8375,10057
5580,7139,9061
5593,5976,8185
5617,8544,10225
5633,7656,9505
5644,5733,8045
5655,9752,11273
5656,9417,10985
5676,6307,8485
5684,8763,10445
5687,6216,8425
5696,6897,8945
5699,8820,10501
5704,7503,9425
5715,7052,9077
5719,7920,9769
5768,9825,11393
5781,6460,8669
5781,9100,10781
5800,9159,10841
5805,8188,10037
5820,8509,10309
5824,7257,9305
5828,7875,9797
5863,9384,11065
5875,6708,8917
5891,8460,10309
5895,7568,9593
5916,6413,8725
5916,9563,11245
5929,6120,8521
5945,9672,11353
5952,7625,9673
5952,8255,10177
5969,6960,9169
5977,8736,10585
5985,7832,9857
6020,6171,8621
6027,6364,8765
6027,9964,11645
6032,9975,11657
6052,6765,9077
6060,9301,11101
6063,7216,9425
6063,9016,10865
6072,7375,9553
6076,8643,10565
6080,8001,10049
6125,6612,9013
6149,9300,11149
6157,7476,9685
6160,6519,8969
6165,8372,10397
6180,9709,11509
6188,7125,9437
6200,9039,10961
6204,7747,9925
6208,8385,10433
6223,6864,9265
6235,9588,11437
6251,7740,9949
6255,8648,10673
6321,7120,9521
6321,9880,11729
6324,7493,9805
6324,9443,11365
6336,8777,10825
6345,8008,10217
6375,6512,9113
6408,6625,9217
6419,7380,9781
6435,9212,11237
6439,8280,10489
6440,7239,9689
6448,9855,11777
6460,7869,10181
6464,9177,11225
6468,8515,10693
6477,6764,9365
6533,8556,10765
6552,6985,9577
6580,7611,10061
6592,9585,11633
6596,8253,10565
6600,8911,11089
6615,7912,10313
6660,6731,9469
6681,7280,9881
6713,8184,10585
6720,7991,10441
6721,9120,11329
6732,8645,10957
6783,7544,10145
6808,7095,9833
6811,8460,10861
6815,9408,11617
6837,6916,9725
6840,7729,10321
6864,9727,11905
6868,9045,11357
6909,8740,11141
6909,9700,11909
6943,7176,9985
6956,7467,10205
6984,8113,10705
6987,8084,10685
7003,9996,12205
7004,9453,11765
7007,9024,11425
7049,7440,10249
7068,7205,10093
7089,8360,10961
7104,7847,10585
7105,9312,11713
7140,9179,11629
7140,9869,12181
7155,7708,10517
7252,8235,10973
7261,7980,10789
7272,8905,11497
7280,9591,12041
7293,8924,11525
7301,9900,12301
7315,7332,10357
7367,8256,11065
7372,7965,10853
7395,9212,11813
7400,8631,11369
7416,9313,11905
7473,8536,11345
7524,8357,11245
7535,7872,10897
7548,9035,11773
7579,8820,11629
7599,9800,12401
7644,8083,11125
7645,8148,11173
7676,8757,11645
7685,9108,11917
7696,9447,12185
7755,8428,11453
7760,7809,11009
7791,9400,12209
7800,8479,11521
7828,9165,12053
7844,9867,12605
7897,9696,12505
7920,8201,11401
7923,8036,11285
7980,9581,12469
8003,9996,12805
8080,8601,11801
8085,9292,12317
8151,8600,11849
8195,9588,12613
8200,8319,11681
8240,9009,12209
8265,8888,12137
8268,9715,12757
8305,9888,12913
8364,8723,12085
8437,8484,11965
8493,9476,12725
8528,9135,12497
8555,8772,12253
8560,9849,13049
8607,9776,13025
8652,8845,12373
8673,9064,12545
8692,9555,12917
8791,9360,12841
8856,9983,13345
8909,9660,13141
8944,8967,12665
8988,9685,13213
9027,9964,13445
9089,9240,12961
9116,9387,13085
9211,9540,13261
9288,9815,13513
9333,9844,13565
9416,9513,13385
9592,9945,13817
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment