Using Elliptic Curves to Compute the Triangles
The method of my first post is too slow to find the side lengths for a triangle of area , which has many digits:
In the 1984 book by Koblitz, Introduction to Elliptic Curves and Modular Forms, computation of the side lengths for is credited to the mathematician Don Zagier. Now, however, it can be computed quickly by anyone with access to the SageMath system. The Python code given below computes the values for in less than one minute on my Mac laptop.
This post has three parts: I derive equations that produce triangle side lengths for congruent numbers; I give Python code that implements the equations; and I present two tables of congruent numbers. The first table is for , and is a variant of the web table. The second is an incomplete table for constructed using the Python code.
The equations
Exhaustive search is too slow to find the sides of the triangle with area ; finding them requires a new idea. That idea is to reduce the search to a problem in elliptic curves (the same idea used to prove Fermat’s Last Theorem!).
An elliptic curve is the next level of complexity after a quadratic curve. A quadratic curve is ; an elliptic curve is . For the congruent number problem, Koblitz’s book Introduction to Elliptic Curves and Modular Forms shows the connection between a congruent and the elliptic curve . I summarize it here.
The connection involves adding points. For a conic section like a circle each point can be represented by , and two points , with angles , can be added to get a third point with angle . In a formula
with a similar formula for . So the formula for is a rational function of , where is our special addition, not vector addition. In the same way, two points on an elliptic curve can be added, and there is a formula for the sum. If and then the formula for (I don’t need ) is
If is a point of
this simplifies to
In that equation , and are rational numbers. I need a formula in terms of their numerators and denominators. So write
(1)
Then
Next, use Koblitz page 47, which says that if is the sum of a point on with itself, then you get rational sides with area for sides , with
so
Or since ,
This gives an algorithm that can find the sides’ lengths for area , and is fast enough to work for . Use SageMath to find a point on . Next use equation (1) to define , , , and the equation after that to get and . And use the equations directly above to get the side lengths and .
Python code for SageMath
Here is the code that implements the algorithm of the previous section.
# congruent in python for use in SageMath
import re
# print sides of congruent number from lo to hi, inclusive
def print_range(lo, hi, lim=12):
for i in range(lo, hi+1):
if (squarefree(i) == 1):
if ((i%2 == 1) and odd(i)) or ((i%2 == 0) and even(i)):
print_congruent(i, lim)
# return 1 if n squarefree
def squarefree(n):
if n % 4 == 0:
return 0
rt = floor(sqrt(n))
for i in range(3, rt+1, 2):
if n % (i*i) == 0:
return 0
return 1
# print sides of triangle with area N. 'lim' controls how much searching is done
def print_congruent(N, lim=12):
e = EllipticCurve([-N*N, 0])
try:
g = e.gens(descent_second_limit = lim)
except (RuntimeError) as msg:
# msg might be of the form "generators found=[[323144640, -6423052104, 274625]])."
match = re.search(r"\[([0-9-]*),(.*),([0-9- ]*)", str(msg))
if match is not None:
preparser(False)
a = int(match.group(1))
b = int(match.group(2))
c = int(match.group(3))
preparser(True)
print_points(a, c, b, c, N)
else:
print N, "Cannot find Solution"
else:
for i in range(0, len(g)):
print_points(g[i][0].numerator(), g[i][0].denominator(), g[i][1].numerator(),
g[i][1].denominator(), N)
# Get the side lengths alpha = a/d, beta = b/e, compute
# the corresponding values of P,Q, write them as a square
# times a factor of N, and print them
def print_points(s,t,u,v, N): # pts x=s/t, y=u/v on elliptic curve
s1, t1, u1, v1 = double(s, t, u, v, N)
a, d, b, e = point_to_sides(s1, t1, N)
print N, " alpha=", a, "/", d
print " beta=", b, "/", e
# compute A,B,C so that A^2 + B^2 = C^2
A = a*e
B = b*d
g = gcd(A,B)
A = A/g
B = B/g
C = sqrt(A*A + B*B)
# compute P,Q so that A = 2PQ, B = P^2 - Q^2
if B % 2 == 1:
P = sqrt((C+B)/2)
Q = sqrt((C-B)/2)
print " P=", P, " Q=", Q
else:
P = sqrt((C+A)/2)
Q = sqrt((C-A)/2)
print " P=", P, " Q=", Q
# factor P = i0*P0^2, Q = j0*Q0^2
for i in range(1, N+1):
if ( P%i == 0 and floor(sqrt(P/i))**2 == P/i):
P0 = sqrt(P/i)
i0 = i
break
for j in range(1, N+1):
if (Q%j == 0 and floor(sqrt(Q/j))**2 == Q/j):
Q0 = sqrt(Q/j)
j0 = j
break
print " P= ", i0, "*", P0, "^2, Q=", j0, "*", Q0, "^2"
# x=s/t, y=u/v is a point on y^2 = x^3 - N^2x. Returns (x,y) + (x,y)
def double(s,t,u,v, N):
num = -8*s*t**3*u*u + v*v*(3*s*s - t*t*N*N)**2
denom = 2*u*t*t
s1 = num
t1 = denom*denom
u1 = -2*u*u*t1*t**3 + v*v*(s*t1 - t*s1)*(3*s*s - t*t*N*N)
v1 = 2*u*v*t1*t**3
g1 = gcd(s1, t1)
g2 = gcd(u1, v1)
return (s1/g1, t1/g1, u1/g2, v1/g2) # don't need last two elements
# Given (x,y) + (x,y) = (s/t, u/v), compute the corresponding alpha = a/d, beta = b/e
def point_to_sides(s, t, N):
p1 = sqrt(s + t*N) # sqrt(x+N)
p2 = sqrt(s - t*N) # sqrt(x-N)
a = p1 - p2
d = sqrt(t)
b = p1 + p2
e = d
g1 = gcd(a, d)
g2 = gcd(b, e)
return(a/g1, d/g1, b/g2, e/g2)
# test for n congruent when n is odd
def odd(n):
cnt1 = 0
cnt2 = 0
m = floor(sqrt(n))
for x in range(-m, m+1):
for y in range(-m, m+1):
for z in range(-m, m+1):
if 2*x*x + y*y + 32*z*z == n:
cnt1 = cnt1 + 1
for x in range(-m, m+1):
for y in range(-m, m+1):
for z in range(-m, m+1):
if 2*x*x + y*y + 8*z*z == n:
cnt2 = cnt2 + 1
return(2*cnt1 == cnt2)
# test for n congruent when n is even
def even(n):
cnt1 = 0
cnt2 = 0
n = n/2
m = floor(sqrt(n))
for x in range(-m, m+1):
for y in range(-m, m+1):
for z in range(-m, m+1):
if 4*x*x + y*y + 32*z*z == n:
cnt1 = cnt1 + 1
for x in range(-m, m+1):
for y in range(-m, m+1):
for z in range(-m, m+1):
if 4*x*x + y*y + 8*z*z == n:
cnt2 = cnt2 + 1
return(2*cnt1 == cnt2)
The table through 1000
Here is a table with the side lengths of congruent numbers. Like the web tables, it gives and rather than the side lengths , , but I give and in factored form. In addition it differs from the web table at , , , and . The changes at and give fractions with a smaller denominator. The change at fixes the glitch wherein both and are both odd.
The change at adds a second solution with the same denominator. I remarked before that there are multiple values of , (or equivalently , , ) for each , and that I would pick the one with the smallest . This doesn’t always select a unique triangle. For example has both and , both with . Other such examples are
And now, here’s the table. Also available as a text file.
N P Q
5 5*1^2 2^2
6 2*1^2 1^2
7 4^2 3^2
13 13*5^2 6^2
14 2*2^2 1^2
15 2^2 1^2
21 2^2 3*1^2
22 2*5^2 7^2
23 156^2 133^2
29 29*13^2 70^2
30 3*1^2 2*1^2
31 40^2 9^2
34 3^2 2*2^2
37 37*145^2 42^2
38 2*25^2 17^2
39 13*1^2 3*2^2
41 5^2 4^2
46 2*6^2 7^2
47 3816^2 1513^2
53 53*5945^2 34034^2
55 5*5^2 11*2^2
61 61*445^2 3198^2
62 2*140^2 151^2
65 3^2 2^2
69 3*8^2 13^2
70 7*1^2 2*1^2
71 60^2 11^2
77 11*16^2 53^2
78 26*1^2 1^2
79 13000^2 12921^2
85 85*1^2 6^2
86 2*13^2 7^2
87 134^2 13^2
93 38^2 3*5^2
94 2*84^2 23^2
95 5*17^2 19*2^2
101 101*21041^2 63050^2
102 2*5^2 1^2
103 93704884^2 86901837^2
109 109*5^2 42^2
110 10*1^2 1^2
111 37*1^2 3*2^2
118 2*18925^2 4393^2
119 12^2 5^2
127 17501923504^2 17467450497^2
133 506^2 19*87^2
134 2*1021^2 119^2
137 137*5^2 56^2
138 6*2^2 1^2
141 3*4^2 1^2
142 2*49590^2 12809^2
143 318^2 43^2
145 29*1^2 5*2^2
149 149*25^2 238^2
151 340^2 189^2
154 3^2 2*1^2
157 157*53156661805^2 407598125202^2
158 2*620^2 761^2
159 182^2 107^2
161 4^2 7*1^2
165 4^2 11*1^2
166 2*9941^2 9799^2
167 339444^2 58717^2
173 173*3728226965^2 48661701478^2
174 3*3^2 2*1^2
181 181*4121^2 34950^2
182 7*7^2 2*3^2
183 61*541^2 3*390^2
190 10*1^2 3^2
191 636182040^2 620449561^2
194 97*1^2 2*6^2
197 197*3179345^2 10192154^2
199 3732820^2 523149^2
205 5*3^2 2^2
206 2*1394^2 1103^2
210 5*1^2 2*1^2
210 6*1^2 1^2
213 3*1600^2 851^2
214 2*313^2 287^2
215 62^2 19^2
219 73*1^2 3*4^2
221 13*1^2 2^2
222 74*13^2 59^2
223 7137389056^2 3792733167^2
226 9^2 2*4^2
229 229*61793^2 87030^2
230 23*7^2 2*19^2
231 7*1^2 2^2
237 43454^2 3*5915^2
238 2*30^2 41^2
239 120^2 119^2
246 2*17^2 23^2
247 5998^2 5877^2
253 354^2 11*91^2
254 2*272^2 161^2
255 4^2 1^2
257 153^2 104^2
262 2*7345^2 9553^2
263 49143127346631084^2 46867792486220437^2
265 7^2 2^2
269 269*85656402325^2 82710580922^2
271 300940360^2 101904681^2
277 277*232579772276105^2 1032363194300802^2
278 2*701185^2 990817^2
285 19*2^2 7^2
286 11*1^2 2*1^2
287 137904^2 137903^2
291 7^2 3*4^2
293 293*231520447985^2 3842474897278^2
295 5*433^2 59*62^2
299 6^2 13*1^2
301 43*8^2 27^2
302 2*2167791890^2 3004234751^2
303 202046^2 166403^2
309 3458^2 3*799^2
310 10*2^2 3^2
311 436723577940^2 353087218429^2
313 13^2 12^2
317 317*2951368765^2 16840660634^2
319 50^2 49^2
323 17*5^2 19*4^2
326 2*33661^2 679^2
327 109*7969^2 3*47950^2
330 6*1^2 5*1^2
334 2*1279626^2 1061887^2
335 2798^2 2629^2
341 118^2 11*15^2
349 349*7453^2 113730^2
353 17^2 8^2
357 21*1^2 2^2
358 2*21866725^2 20489063^2
359 57470100^2 57469741^2
365 365*14893^2 94874^2
366 122*1^2 11^2
367 16382168821648506431464^2 496953629608513608777^2
371 53*1^2 7*2^2
373 373*2603564129117970265^2 16377382078444972158^2
374 2*29^2 1^2
381 398^2 3*221^2
382 2*129060^2 88679^2
383 20091144^2 17430983^2
386 11^2 2*6^2
389 389*14699193245425^2 72369303587042^2
390 2*2^2 5*1^2
391 572^2 555^2
395 5*4^2 1^2
397 397*109045^2 2069034^2
398 2*655850^2 806831^2
399 8^2 57*1^2
406 58*8^2 3^2
407 37*11225^2 11*20586^2
410 41*1^2 10*2^2
413 64114^2 59*6213^2
415 29698^2 15671^2
421 421*32786945^2 189819882^2
422 2*565^2 217^2
426 6*4^2 5^2
429 3*2^2 1^2
430 43*9^2 2*41^2
431 439631880^2 56365561^2
434 2*4^2 31*1^2
437 8914^2 19*1247^2
438 7^2 6*2^2
439 266438380^2 207471339^2
442 11^2 26*2^2
445 89*1^2 5*4^2
446 2*37655576^2 19427153^2
447 22442^2 21481^2
453 1307114^2 3*722785^2
454 2*708089^2 925711^2
455 8^2 1^2
457 253^2 204^2
461 461*331709140421^2 6025359571150^2
462 14*1^2 11*1^2
463 1078250296^2 376638153^2
465 4^2 15*1^2
469 67*148^2 1101^2
470 47*1^2 2*1^2
471 157*949^2 3*1962^2
478 2*7613312866500^2 1278366247319^2
479 46320^2 22849^2
485 485*6409^2 81314^2
487 31922317361596^2 20227123841253^2
493 493*348125^2 3026946^2
494 19*11^2 2*27^2
501 3*8932^2 4163^2
502 2*13172945^2 5749553^2
503 126022097765194972888404^2 124468507893835378881997^2
505 101*1^2 5*2^2
509 509*13^2 170^2
510 2*4^2 17*1^2
511 18952^2 2145^2
514 257*1^2 2*4^2
517 6^2 11*1^2
518 74*4^2 29^2
519 570986^2 64223^2
526 2*3774^2 137^2
527 24^2 7^2
533 533*6025^2 137522^2
534 2*157^2 217^2
535 418^2 311^2
541 541*82652759501^2 1629675045390^2
542 2*8337517165460^2 6072862516759^2
543 181*849929197^2 3*3004968950^2
546 7*1^2 6*1^2
551 350^2 179^2
557 557*1746479765^2 40206424678^2
559 13*317^2 43*174^2
561 17*1^2 4^2
565 565*41^2 558^2
566 2*3119461^2 508681^2
573 3*155482680^2 222747577^2
574 2*12^2 1^2
581 554^2 83*57^2
582 194*1^2 13^2
583 53*8825^2 11*19178^2
589 19*944^2 2265^2
590 10*41^2 67^2
591 1406^2 181^2
597 4509125978^2 3*2061246655^2
598 26*186^2 727^2
599 1743235759090264843329900^2 1298070998128102765757269^2
602 5^2 2*3^2
606 3*27^2 2*13^2
607 11193477616854092718151692958821016^2 5301570241310268303909957034492887^2
609 7*2^2 1^2
613 613*14799287186305^2 46559016084714^2
614 2*59953357^2 57198937^2
615 22^2 19^2
622 2*90^2 31^2
623 3040742304^2 958046297^2
629 629*1^2 10^2
631 84388339390660^2 84042085995171^2
638 11*2019^2 2*4375^2
645 5*5^2 2^2
646 2*3^2 1^2
647 1149852430778431376586487272927719076^2 763331759345415695713922022788822893^2
651 7*2^2 3*1^2
653 653*4956148647851982833406804183365^2 119088454066039826980851213749474^2
654 218*13^2 121^2
655 5*7085^2 131*178^2
658 2*8^2 47*1^2
661 661*52573871914105^2 1337443404825678^2
663 13*5^2 51*2^2
669 14^2 3*3^2
670 67*3^2 2*11^2
671 6^2 5^2
674 337*1^2 2*12^2
677 677*266071911559565396617913225699185^2 6090385733713292676671917039688234^2
678 2*1885^2 2567^2
679 4829572^2 4736355^2
685 685*384709^2 3760398^2
687 229*181^2 3*370^2
689 689*1^2 20^2
694 2*269^2 329^2
695 5*107633^2 139*13862^2
701 701*778126037665372045^2 20381058964400398922^2
703 1176802^2 879777^2
709 709*17^2 210^2
710 10*12^2 37^2
717 3*42438120^2 665543^2
718 2*4524903101629650^2 2549487886137199^2
719 18720^2 16511^2
721 7*4^2 3^2
723 103^2 3*20^2
727 16213151558097443674133462376327492124^2 11607920028365757398549972945257395957^2
731 39^2 43*4^2
733 733*7587780721511267936796299165^2 175714842077423718884281543602^2
734 2*644^2 137^2
741 4^2 3*1^2
742 106*4334^2 25983^2
743 664892406397562627531460993684^2 70167984148003728340455310237^2
749 107*44^2 307^2
751 520^2 231^2
757 757*134047218103304241673334209140989001305^2 2498951123086366985427431466492641572998^2
758 2*121343494129262725^2 13640465896081927^2
759 3*2^2 11*1^2
761 761*29^2 40^2
766 2*588188916^2 153301273^2
767 14526198^2 3869323^2
773 773*35770654935185^2 628933159841954^2
777 37*2^2 3*3^2
781 2079450^2 11*578677^2
782 2*110^2 71^2
789 3*53196^2 83339^2
790 10*88^2 39^2
791 113*1^2 7*4^2
793 793*5^2 132^2
797 797*6509757429070914743924008309828829377565^2 77437998217120395728776728661988058847754^2
798 2*4^2 5^2
799 8^2 17*1^2
805 9^2 5*4^2
806 31*1^2 2*3^2
807 20388278^2 6378229^2
813 14^2 3*5^2
814 74*1^2 5^2
815 63306722^2 60351761^2
821 821*905^2 6118^2
822 2*178445^2 221999^2
823 1800731922098507686862624200977450853996^2 1093332003924633933040927920553338780747^2
829 829*1114687145192391935645405^2 13332313139036257353598962^2
830 83*9^2 2*29^2
831 277*4899877^2 3*13289406^2
838 2*8009381984165^2 1735885783193^2
839 959700^2 893651^2
853 853*1555403055469705^2 41407411349159166^2
854 7*41^2 2*27^2
861 21*11^2 50^2
862 2*31754083744528352940^2 44433441426033013319^2
863 1365999649102602102024^2 1363371767025194841143^2
866 19^2 2*6^2
869 11*208^2 535^2
870 145*1^2 6*2^2
871 3646^2 3579^2
877 877*98019289159914592820005^2 285144044108203957571958^2
878 2*1564070^2 2155561^2
879 62^2 59^2
885 632^2 59*59^2
886 2*1812317^2 2229703^2
887 2129987769776435785528571874098484^2 613374508678206671797659663089437^2
889 8^2 7*3^2
890 7^2 10*2^2
893 314604694^2 19*13026563^2
894 3*681^2 2*73^2
895 5*169^2 179*22^2
901 17*13^2 53*4^2
902 2*1625^2 2297^2
903 43*2^2 3*1^2
905 181*1^2 5*6^2
910 65*1^2 14*2^2
911 101674006024983403715286392160^2 101247414652636878045579297649^2
915 61*1^2 15*2^2
917 79016186^2 131*3187071^2
919 415257700^2 307783011^2
926 2*207949336647956^2 65855561465047^2
933 3*627284421900^2 906169058509^2
934 2*137^2 17^2
935 52^2 47^2
941 941*6949430837141^2 212353330183010^2
943 41*29^2 23*20^2
949 949*1^2 30^2
951 14^2 11^2
957 29*1^2 2^2
958 2*64137447275611920^2 86812781740303009^2
959 72^2 65^2
965 965*37658777^2 268747634^2
966 23*1^2 2*1^2
967 40855341363101303203686796^2 31495021407376795594262853^2
973 74^2 139*3^2
974 2*1209837172766^2 359802927673^2
982 2*3361484998004965^2 1361998041016823^2
985 985*13^2 408^2
987 21*4^2 17^2
989 211066^2 43*23387^2
991 372979863880^2 355105187961^2
995 5*8^2 11^2
997 997*205768636979011246293067486487264646177793235665^2 1939472939861978131500861593607331562307144802554^2
998 2*7036245713483923165^2 6759000852285855817^2
An incomplete table for 1000 to 2000
One of the motivations for writing the code in this posting was to try computing the side lengths for . Of the 358 square-free congruent numbers between 1000 and 2000, the code was able to find sides for all but 50. I’d be thrilled to hear about more sophisticated algorithms that can compute these missing entries. Here are the entries I was able to compute, also available as a separate file.
1003 63^2 59*4^2
1005 5*565^2 1202^2
1006 2*36354^2 51343^2
1007 640869638^2 587562763^2
1013
1015 29*13^2 35*2^2
1021 1021*257149^2 7820010^2
1022 2*20^2 17^2
1023 7664^2 33*375^2
1030 103*1327^2 2*1271^2
1031 553773154545780^2 313927967546509^2
1037 1037*23725^2 735278^2
1038 3*33^2 2*23^2
1039 19222641880^2 464534841^2
1045 5*13^2 209*2^2
1046 2*54433^2 62033^2
1047 349*815413^2 3*6269390^2
1054 2*1692^2 1561^2
1055 5*2218957^2 211*235258^2
1057 247^2 96^2
1061 1061*11017137603102721^2 52393391142142750^2
1063
1069
1070 107*41187^2 2*256331^2
1073 23^2 14^2
1077 3*880^2 1237^2
1079 54^2 29^2
1081 35^2 12^2
1085 35*4^2 23^2
1086 362*1^2 1^2
1087 534490229096555257177885984^2 504876251097996356696056863^2
1093
1094 2*409^2 511^2
1095 14^2 13^2
1101 6734^2 3*3333^2
1102 19*330627^2 2*724355^2
1103 816^2 287^2
1105 7^2 6^2
1109
1110 2*4^2 5*1^2
1111 10^2 1^2
1113 7*2^2 5^2
1117
1118 26*53^2 197^2
1119 373*5047393^2 3*56058478^2
1122 5^2 2*2^2
1126 2*953^2 113^2
1131 4^2 13*1^2
1133 104354^2 11*31341^2
1135 4317302^2 1209899^2
1141 163*20033248^2 35220117^2
1142 2*3498126297122005^2 3101671470103703^2
1145 1145*5^2 52^2
1146 2*13^2 191*1^2
1149 3*10180232^2 17116727^2
1151 126739920^2 124197361^2
1154 17^2 2*12^2
1155 11*1^2 2^2
1157 1157*101695523225^2 1997676115478^2
1158 193*5^2 6*24^2
1159 61*5^2 19*6^2
1165 1165*1037^2 24366^2
1166 106*229^2 565^2
1167 80234354894378^2 69040110896471^2
1169 7*12^2 29^2
1173 69*273^2 1718^2
1174 2*10970739277^2 5524968023^2
1178 2*5^2 31*1^2
1181
1182 3*2494283^2 2*170977^2
1185 8^2 15*1^2
1186 257^2 2*136^2
1189 1189*65^2 1518^2
1190 2*3^2 17*1^2
1191 397*4319701^2 3*43476026^2
1195 22^2 5*7^2
1198 2*79342901670^2 10971111209^2
1199 4846487934^2 4826824675^2
1201 25^2 24^2
1205 31^2 5*12^2
1207 11643884^2 10025013^2
1213
1214 2*18094076^2 12405353^2
1217 1217*65^2 1504^2
1221 37*17^2 33*14^2
1222 47*151^2 2*731^2
1223
1229 1229*3171885776594453^2 22661957001363890^2
1230 123*1^2 2*1^2
1231 1093893124029377517040^2 508787759180739534831^2
1237
1238
1239 596^2 177*37^2
1241 29^2 20^2
1245 5*449^2 982^2
1246 2*24^2 23^2
1247 500503826^2 493934857^2
1249 481^2 360^2
1253 179*139708^2 1576963^2
1254 11*1^2 2*2^2
1255 5*130143077^2 251*4799482^2
1261 1261*6205^2 211494^2
1262 2*5146561601772899976047772998810^2 5187845455908637659823361579711^2
1263 421*72473677^2 3*805599790^2
1270 127*1561^2 2*5381^2
1271 41*5^2 31*4^2
1277
1279 73978703287659341689600^2 38338545749238184291809^2
1282 641*1^2 2*10^2
1285 1285*1105^2 8358^2
1286 2*10448952878281^2 10529188863199^2
1293 3*1697884540^2 2937063841^2
1294 2*4872522^2 1370959^2
1295 6^2 1^2
1301 1301*3117192484228345^2 77237364746203922^2
1302 11^2 6*4^2
1303
1309 77*3^2 26^2
1310 10*153829^2 432161^2
1311 23*1^2 2^2
1317
1318 2*1428058929085^2 592793094313^2
1319 2483679569975131134420^2 1474854640815874983299^2
1321 37669^2 27060^2
1326 26*1^2 5^2
1327
1330 14*1^2 5*1^2
1333 206^2 43*15^2
1334 58*48^2 133^2
1335 4258^2 4169^2
1339 34^2 13*9^2
1342 11*6293233^2 2*11110465^2
1343 1513392816^2 87126737^2
1346 239^2 2*168^2
1349 19*572172984^2 1718426035^2
1351 92^2 193*3^2
1357 59*799332^2 6119003^2
1358 2*170^2 239^2
1365 5*2^2 7*1^2
1366 2*75067556653673^2 276597312593^2
1367 2210029442288216604321564^2 1092492023913676770056123^2
1373
1374 458*39481^2 518017^2
1379 197*1^2 7*2^2
1381 1381*5877838501505^2 85358642942118^2
1382
1383 8114^2 6527^2
1387 73*25^2 19*48^2
1389 28962134^2 3*15288133^2
1390 10*529105^2 1452477^2
1391 13*55241^2 107*14214^2
1393 1724^2 199*57^2
1397 11*4^2 7^2
1398 2*205^2 23^2
1399 140108980^2 24481971^2
1405 19^2 5*4^2
1406 19*1^2 2*3^2
1407 67*4694^2 3*9411^2
1411 79^2 83*4^2
1414 7*2329^2 2*4237^2
1415 6998^2 4451^2
1419 3*3^2 4^2
1423 7846891217457546585817785748936^2 6692442382211391072755148372327^2
1429
1430 2*8^2 13*3^2
1434 6*10^2 19^2
1437 3*359821900^2 579736247^2
1438 2*44553108632760^2 37487295533089^2
1439 1008014492965566903395280^2 960164863865618935964209^2
1443 5^2 3*2^2
1446 2*11^2 1^2
1447
1453
1454 2*59006^2 38953^2
1455 1586^2 263^2
1461 9314^2 3*2233^2
1462 34*1^2 3^2
1463 11*2^2 19*1^2
1469 13*3^2 2^2
1471 1928596035670269313433517160^2 1779886513628987622022447431^2
1477 211*220919758676^2 1248458528883^2
1478
1479 16^2 13^2
1482 19*1^2 6*1^2
1486 2*239711193546^2 8032739393^2
1487 4658308462162163630976^2 1320338709334411132607^2
1493 1493*25^2 434^2
1495 202^2 87^2
1501 19*4^2 15^2
1502 2*2028737420^2 311366489^2
1509 3*58309238416^2 6189441829^2
1510 10*4^2 3^2
1511 780^2 731^2
1513 89*1^2 8^2
1517 1181^2 37*160^2
1518 125^2 22*13^2
1526 218*16^2 19^2
1527 591153019517366^2 572357977499363^2
1533 28262^2 3*5805^2
1534 59*113^2 2*29^2
1535 702318605942^2 469355582779^2
1541 58^2 67*7^2
1542 2*265^2 287^2
1543
1549
1551 3*106^2 11*23^2
1558 2*24125^2 20113^2
1559 46558955761464766823805420^2 40991718920623965561016069^2
1561 116^2 223*3^2
1565 1565*61^2 1078^2
1567 1624^2 57^2
1574
1581 93*3^2 2^2
1582 13^2 14*2^2
1583
1589 1955370754^2 227*95700609^2
1590 265*1^2 6*4^2
1591 22^2 21^2
1595 5*2^2 3^2
1597
1598 39^2 94*4^2
1599 236^2 115^2
1605 5*17^2 38^2
1606 2*2269^2 1751^2
1607
1610 14*1^2 3^2
1613
1614 3*1091^2 2*1021^2
1615 85*101^2 19*42^2
1621
1622
1623 541*818977^2 3*8400690^2
1630 163*81^2 2*209^2
1631 11^2 7*4^2
1633 324^2 23*25^2
1635 109*1^2 15*2^2
1637
1639 93119931626^2 17274220825^2
1645 381^2 5*76^2
1646 2*10502^2 12361^2
1649 1649*1^2 40^2
1651 13*4^2 9^2
1653 29*61^2 278^2
1654 2*5099522713^2 7191812593^2
1655 5*15944597077^2 331*1593316982^2
1659 10^2 21*1^2
1661 11*449674700^2 1128819629^2
1662 554*1^2 23^2
1663
1669 1669*17^2 690^2
1670 167*41^2 2*331^2
1671 4709357954^2 4709150447^2
1677 13*25^2 129*6^2
1678 2*2197332480074250^2 2986757644280911^2
1679 83^2 23*12^2
1685 1685*10780079129^2 323265236278^2
1686 2*30193^2 9553^2
1687 20020795748764^2 14313931423077^2
1693
1695 8^2 7^2
1702 23*83377711^2 2*259732823^2
1703 13*136174385^2 131*42165966^2
1705 5*2^2 11*1^2
1709 1709*56899397^2 1914111430^2
1711 29*281^2 59*130^2
1717 101*13^2 38^2
1718 2*1622842557865^2 432593825023^2
1726 2*232211988542532693804^2 206435450751981013463^2
1727 157*265^2 11*858^2
1731 577*1^2 3*4^2
1733
1735 1247378^2 1029289^2
1741
1742 67*10122299^2 2*15946527^2
1743 3041032^2 249*85593^2
1745 349*1^2 5*6^2
1749 8^2 11*1^2
1751 17*4^2 13^2
1757 8065011826^2 251*412114251^2
1758 3*102985227451^2 2*121557212519^2
1759
1762 881*1^2 2*20^2
1765 1765*1965793^2 29034642^2
1766 2*1241178349^2 748018649^2
1767 19*18578^2 3*43325^2
1770 2*4^2 3*3^2
1774 2*234^2 257^2
1781 1781*64281065^2 1800656762^2
1783 4792743876089805249498502926760516^2 4210256678211637838081213167457613^2
1785 3*2^2 5*1^2
1789
1790 10*178841^2 493243^2
1794 26*1^2 23*1^2
1797 3*5264857000^2 4228721773^2
1798 31*10911449^2 2*7818425^2
1799 1740^2 59^2
1806 47^2 6*19^2
1807 13*408185^2 139*121818^2
1814 2*1024057^2 931217^2
1821 661934^2 3*220917^2
1822 2*17520^2 23471^2
1823 7761300340225847160065004009945984^2 7073498453526479365692239139413137^2
1829 59*29844700^2 181206031^2
1830 3*29^2 122*1^2
1831 3565715500^2 2898888171^2
1837
1838 2*640482037573884561770^2 768308549845289572991^2
1839 613*97^2 3*294^2
1846 71*217^2 2*439^2
1847
1853 1853*1327014805^2 56375498794^2
1855 1222^2 493^2
1858 27^2 2*10^2
1861
1869 21*3^2 10^2
1870 2*16^2 17*1^2
1871
1877
1878 2*13^2 5^2
1879 4130777980^2 1199536101^2
1885 29*1^2 4^2
1886 2*4^2 3^2
1887 6044^2 5119^2
1893 206546260507082^2 3*64269514053185^2
1894 2*324087672709^2 213795376151^2
1895
1901
1902 3*900186672163^2 2*946544303197^2
1903 114182^2 19043^2
1909 4644138^2 83*21329^2
1910 10*6^2 13^2
1918 9^2 14*2^2
1919 101*197^2 19*310^2
1927 1654276^2 634893^2
1933
1934 2*127958^2 180551^2
1939 277*1^2 7*6^2
1941 3*22087563983576^2 35655089110091^2
1942 2*127615924034303765^2 89779252381023607^2
1943 29*16613^2 67*2990^2
1949
1951
1957 19*3285772^2 7471773^2
1958 2*15^2 89*1^2
1959 45651794958266^2 34244727779041^2
1965 136^2 131*11^2
1966 2*378280891208203374^2 484645319443334263^2
1967 12419^2 7*4340^2
1973
1974 42*2^2 11^2
1981 506^2 283*27^2
1982 2*472837460^2 48441881^2
1983 661*1^2 3*10^2
1990 10*64794470^2 85105071^2
1991 181*1193^2 11*1350^2
1995 5*2^2 1^2
1995 3*2^2 7*1^2
1997
1999
Powered by QuickLaTeX