Primality Certificate for (31^5581-1)/30

Andy Steward8,322 digits27 June 2001
Originally by David Broadhurst & Sean Irvine 2001

This certificate uses a theorem of Konyagin and Pomerance to prove an integer N prime by making use of a partial prime factorization of N-1.

Factorizing N-1

As N is a Generalized Repunit, we make use of the algebraic factorization of N-1 to arrive at the following 30.589858% factorization of N-1:

From Factorisation
3131
Φ22 · 2 · 2 · 2 · 2
Φ33 · 331
Φ42 · 13 · 37
Φ55 · 11 · 17351
Φ67 · 7 · 19
Φ93 · 3637 · 81343
Φ1041 · 21821
Φ12922561
Φ152521 · 327412201
Φ18577 · 1538083
Φ20181 · 4707206941
Φ30880374069121
Φ31p45
Φ361536553 · 512616735577
Φ45271 · 63901 · 106291 · 337048683633480845467801
Φ6061 · 25621 · 1529401 · 304643210761
Φ62373 · 1613 · 62869 · 145577 · 35789156484227 · 2706690202468649
Φ902065411 · p30
Φ9315799367012336491417 · 583404661652480206661058499237 · p41
Φ124415153 · p84
Φ155117001441 · 14046004014701 · 608885028530064901 · p140
Φ1808728381 · 14398921 · p58
Φ18623251 · 53780227 · 23171696419 · 7513329295414649737 · 7255587057776337278077 · 198129096248543967569450023
Φ2791117 · 45757 · 2301193 · 242755078511627713091591933221 · p225
Φ310311 · 1942151 · 17790901 · 26849546845452641 · 612582959904673441 · 84847808038659934575069639759252239711 · 1232919750942944487783721472720188591866492811 · p46
Φ37244641 · 238369488913 · 4227818467118098502032409617 · 2003699564225548745892877420657 · 6696881902877346339339237951208306682515373761 · p60
Φ46539076487041 · 7032854624613541 · 33771166594377781 · c315
Φ5582791 · 5023 · 320852851939 · 1024143471271 · 14301952851224827 · 6611897901441462103 · 10392717102090992810849367142466041 · 12513976034443338072063661464992368665418388237083831225867 · c111
Φ6208681 · 297601 · 1622215825561 · 22847166875905515593801881 · 1746679097860097750819286124001 · c281
Φ9301861 · 109208041 · 951028231 · 8731223789611 · 567585365282891271915251485381 · 4079700615707676666109058418835660387615026976355269635445041021346322437899545263067644650245735020828847134524368095145542318952851 · c163
Φ11164051898534561969646433 · c516
Φ1395c1074
Φ1860229137121 · 21879339961 · 95588479477050616065793801 · c672
Φ27905581 · 11161 · 50221 · 76444602271381 · 354161485969741 · 49551486182503916521131492836091784625900829260992635543750910275110471759416475083839476092504586117636064252607244794618628885589542662730038728557654047859107276832908952262705126066734397782412432357439368475555282214661072148219729739532585459035797743076708051749745451844030484170025113662462511736432881761718105558015281785991339616170888018271554779003222852703385999983866359773467609614382496474071942935991131942680565967908590296510001426549862411643165774481532454467963691504093383901 · p534
Φ5580c2148

From this partial factorization, we use sufficient of the largest prime factors of N-1 so that their product F is at least N 3/10 :

1437 1419111051 3467059838 2527032572 3794135495 0388963201 9133690658 9014319531 0745189757 2725279578 3325164459 8819001111 2169107310 5516525869 9555137779 6211638598 9277437543 9701132258 7840281098 4911706942 7692228664 4211215433 7973803328 5831945597 2871811587 5392772047 8302084225 0924569969 8090265095 2598825037 0230150177 2592161106 0198367023 5910685960 9736991682 4218611057 0027866218 3943059094 5233057616 6916170748 9818104216 0144516088 4887470182 0424437909 5913305662 4909882101 7063569439 1026697167 4997176684 2783006274 8160259833 2136482694 6592535765 7906841221
97601 8899777178 5830486851 5739136639 2501989564 8508043155 2261668095 1330151922 4399987435 5031338546 7645217622 2105072983 7045485939 3732521554 2381645138 3607473332 8353303582 0890821207 3830799594 1629680997 3771095315 0705402559 9740607293
8889627060 9320385787 6414375779 0956875871 4314649392 0785778772 4844952367 0731636399 5524806842 3966647117 0845978397 2406466983 6797273499 9679359361
407 9700615707 6766661090 5841883566 0387615026 9763552696 3544504102 1346322437 8995452630 6764465024 5735020828 8471345243 6809514554 2318952851
7295 2766386848 9818869443 7536559628 1980769036 6535991304 1695735805 5294002035 8902345617
1524223975 0525410792 5733151209 3923050284 6579056813 1199553233
125139760 3444333807 2063661464 9923686654 1838823708 3831225867
30626520 5856742172 2695601733 3662955628 7364466042 1771523821
669688 1902877346 3393392379 5120830668 2515373761
513183 7492251973 7460600167 0247742541 1867425641
123291 9750942944 4877837214 7272018859 1866492811
56897 2471024107 8652870214 3430197715 8534824481
3 1832165679 5175205957 5320343427 4069882869
84847808 0386599345 7506963975 9252239711
10392 7171020909 9281084936 7142466041
2 0036995642 2554874589 2877420657
1 7466790978 6009775081 9286124001
5834046616 5248020666 1058499237
5675853652 8289127191 5251485381
3003922640 4424960150 2733598251
2427550785 1162771309 1591933221
42278184 6711809850 2032409617
1981290 9624854396 7569450023
955884 7947705061 6065793801
228471 6687590551 5593801881
3370 4868363348 0845467801
72 5558705777 6337278077
40 5189853456 1969646433
1579936701 2336491417
751332929 5414649737
661189790 1441462103
61258295 9904673441
60888502 8530064901
3377116 6594377781
2684954 6845452641
1430195 2851224827
703285 4624613541
270669 0202468649
35416 1485969741
7644 4602271381
3578 9156484227
1404 6004014701
873 1223789611
162 2215825561
102 4143471271
88 0374069121
51 2616735577
32 0852851939
30 4643210761
23 8369488913
3 9076487041
2 3171696419
2 1879339961
4707206941
951028231
327412201
229137121
117001441
109208041
53780227
17790901
14398921
8728381
2301193
2065411
1942151
1538083
1536553
1529401
922561
415153
297601
145577
106291
81343
63901
62869
50221
45757
44641
25621
23251
21821
17351
11161
8681
5581
5023
3637
2791
2521
1861
1613
1117
577
373
331
311
271
181
61
41
37
31
19
13
11
72
5
32
26

Note that all prime factors listed above have been proven. As primes of under 250 decimal digits can be verified in a few seconds, proof of their primality is not included here, in order to save space. Larger prime factors can take from hours to months to prove; certificates for all such factors have been PKZIPped into this file.

We set R = (N-1)/F. Note that GCD(F,R)=1 and Log(F)/Log(N) = 30.589858%

Finding a Witness to Primality

Next, we find an integer witness w such that for each prime factor p of N-1, w(N-1) ≡ 1 mod N and GCD(w(N-1)/p-1,N) = 1. In this case, w = 29 suffices.

Express N in base F

As F3 < N < F4 and N ≡ 1 (mod F), we can let N = c3·F3 + c2·F2 + c1·F + 1. Let c4 = c3·F+c2.

Square Checks

For t = 0 to 5, we prove that Q(t) = (c1+t·F)2+4·t-4·c4 is not a perfect square. This is done by checking whether Q(t) is a quadratic residue modulo a variety of bases. If it happens to be a QR in all of the bases, we calculate s = floor(sqrt(Q(t))) and show that s2 < Q(t).

Continued Fraction

We approximate c1/F by a continued fraction u/v such that v is maximal while remaining less than F2 / N1/2 = 2 2650089048 6401088585 9940374805 7569502390 8821056831 7731563237 7241896087 7640808958 8538020615 4013172299 3234732696 7340504890 4238217456 9304889023 2547411107 4824118530 5612575571 9586746380 5977942856 5313842873 8068313950 4453613244 7360731470 8414002453 3084587049 1435886052 6894305128 1575919463 4403763275 8500359911 0715877527 3666536504 4683130440 5147239484 2074954787 9660438448 8901886042 0425076286 0891263370 3025046900 0817204963 0037287172 6580205066 2073764902 9839638178 2599817342 6004118318 9045677903 9080266599 8263348311 2384022028 8241695381 1264464245 5321624271 2202078458 2971431194 1322505869 4538896124 3960935267 0748792619 0361063727 1453271157 4984336204 6631925505 5367970078 4083674403 2258795055 9972875202 1488410780 3063033033 6799925440 8032998253 8805409637 1164097617 4343951884 6433659919 8414716843 3062723210 1688973909 0941627995 7822774224 6361803750 4531371572 8036137382 0298221516 1504973027 4646946618 9955894051 2137071615 9814984158 2172455543 3499210131 1201899801.

With those constraints, the unique continued fraction is: {0, 2, 1, 2, 13, 1, 4, 1, 7, 4, 1, 1, 2, 1, 5, 1, 2, 2, 9, 9, 2, 24, 6, 3, 1, 16, 1, 9, 33, 2, 2, 4, 3, 8, 2, 1, 2, 5, 1, 5, 5, 2, 3, 1, 1, 6, 2, 17, 9, 1, 1, 39, 1, 16, 8, 7, 3, 1, 9, 1, 3, 2, 3, 4, 1, 1, 10, 1, 5, 1, 3, 21, 2, 103, 1, 1, 1, 3, 1, 1699, 46, 1, 1, 30, 74, 5, 1, 1, 2, 29, 1, 1, 4, 1, 1, 1, 5, 9, 3, 22, 1, 1, 1, 3, 1, 1, 2, 1, 2, 2, 1, 2, 1, 1, 2, 2, 1, 3, 8, 4, 1, 21, 1, 2, 1, 1, 1, 1, 10, 7, 3, 3, 1, 1, 1, 90, 3, 1, 8, 4, 1, 3, 1, 1, 3, 2, 2, 2, 1, 4, 4, 2, 2, 1, 5, 1, 4, 6, 5, 1, 1, 2, 2, 1, 2, 1, 1, 2, 2, 28, 2, 3, 7, 3, 2, 2, 16, 1, 1, 17, 1, 1, 23, 1, 2, 1, 2, 1, 1, 11, 15, 3, 6, 13, 1, 7, 1, 1, 6, 2, 1, 33, 124, 2, 2, 2, 70, 1, 13, 2, 1, 7, 1, 2, 10, 1, 3, 2, 1, 1, 1, 3, 3, 1, 2, 1, 3, 1, 1, 1, 5, 1, 1, 9, 2, 1, 2, 2, 3, 3, 2, 3, 1, 2, 1, 3, 1, 1, 2, 2, 7, 4, 2, 1, 1, 5, 12, 1, 1, 1, 6, 1, 9, 4, 1, 5, 2, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 5, 3, 1, 1, 1, 1, 21, 1, 1, 3, 1, 14, 4, 69, 5, 19, 1, 3, 98, 3, 231, 8, 2, 1, 2, 70, 1, 6, 8, 1, 1, 3, 15, 1, 1, 2, 288, 1, 2, 162, 1, 1, 2, 2, 13, 1, 6, 2, 6, 1, 4, 2, 5, 16, 1, 10, 1, 2, 1, 28, 4, 2, 12, 1, 3, 45, 1, 10, 2, 27, 1, 2, 5, 4, 225, 1, 5, 1, 1, 4, 6, 1, 3, 172, 1, 1, 1, 1, 3, 6, 1, 7, 3, 1, 53, 2, 1, 7, 1, 6, 3, 2, 4, 1, 1, 2, 9, 2, 1, 3, 3, 2, 1, 1, 2, 2, 1, 2, 1, 1, 1, 15, 1, 3, 2, 2, 10, 1, 8, 2, 7, 1, 12, 1, 3, 3, 1, 15, 2, 1, 3, 1, 1, 2, 2, 15, 1, 32, 1, 1, 1, 6, 1, 1, 1, 1, 2, 1, 3, 7, 2, 1, 14, 2, 1, 13, 1, 6, 8, 4, 7, 3, 1, 2, 38, 5, 2, 66, 1, 5, 7, 1, 5, 1, 1, 9, 2, 1, 18, 10, 6, 1, 49, 3, 5, 1, 1, 1, 5, 7, 42, 1, 4, 2, 13, 4, 1, 12, 5, 1, 1, 3, 48, 1, 1, 1, 18, 89, 2, 1, 13, 3, 1, 1, 1, 1, 3, 1, 2, 3, 3, 51, 1, 1, 8, 1, 6, 5, 1, 1, 1, 7, 16, 1, 2, 1, 1, 1, 1, 3, 9, 1, 1, 1, 1, 14, 2, 3, 1, 1, 2, 301, 1, 1, 3, 1, 3, 4, 1, 3, 1, 1, 16, 1, 26, 3, 2, 17, 7, 1, 15, 6, 1, 14, 1, 9, 2, 1, 1, 1, 2, 64, 3, 3, 1, 3, 3, 1, 2, 5, 1, 2, 1, 2, 26, 1, 1, 1, 1, 2, 2, 5, 8, 1, 4, 1, 1, 5, 1, 7, 7, 1, 3, 5, 1, 1, 7, 2, 4, 1, 1, 2, 5, 1, 2, 2, 1, 1, 1, 2, 1, 2, 28, 2, 4, 1, 19, 3, 34, 1, 56, 8, 5, 1, 2, 1, 2, 1, 7, 4, 1, 4, 2, 1, 1, 3, 16, 3, 1, 24, 1, 1, 41, 2, 1, 2, 5, 2, 6, 1, 1, 2, 2, 6, 5, 1, 6, 1, 3, 1, 3, 3, 11, 5, 2, 2, 23, 2, 2, 1, 1, 17, 3, 5, 3, 4, 6, 3, 2, 1, 3, 8, 8, 17, 1, 1, 6, 1, 20, 1, 1, 1, 16, 1, 2, 5, 4, 1, 3, 1, 12, 13, 3, 2, 1, 3, 1, 1, 1, 1, 14, 90, 2, 1, 1, 2, 111, 1, 7, 18, 2, 2, 4, 1, 2, 2, 1, 8, 5, 1, 1, 2, 2, 1, 2, 1, 1, 7, 1, 5, 17, 2, 1, 1, 13, 2, 3, 7, 2, 13, 1, 1, 1, 4, 13, 1, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 4, 1, 2, 1, 1, 4, 1, 1, 1, 12, 7, 1, 4, 2, 8, 2, 9, 2, 4, 14, 1, 2, 6, 12, 12, 1, 27, 1, 1, 1, 7, 1, 6, 1, 123, 3, 1, 1, 6, 4, 7, 1, 2, 2, 7, 1, 3, 22, 3, 3, 1, 2, 8, 1, 7, 4, 1, 4, 3, 10, 1, 1, 5, 1, 2, 2, 1, 8, 2, 1, 50, 3, 2, 1, 2, 2, 1, 4, 16, 1, 1, 5, 1, 6, 13, 61, 18, 1, 1, 3, 1, 1, 1, 21, 1, 29, 4, 3, 2, 1, 6, 36, 1, 1, 2, 1, 5, 1, 3, 6, 7, 2, 2, 2, 5, 1, 8, 1, 3, 15, 4, 42, 1, 1, 2, 3, 1, 1, 1, 9, 146, 3, 21, 2, 1, 2, 1, 1, 4, 2, 1, 1, 2, 1, 1, 3, 1, 12, 1, 4, 1, 1, 6, 1, 2, 1, 1, 10, 18, 1, 2, 4, 1, 7, 1, 1, 3, 3, 1, 6, 1, 8, 1, 1, 4, 1, 1, 2, 2, 2, 2, 7, 2, 3, 3, 5, 2, 23, 8, 7, 2, 2, 5, 19, 1, 1, 13, 2, 2, 27, 5, 1, 128, 3, 1, 1, 1, 20, 8, 14, 1, 17, 5, 4, 3, 3, 6, 4, 1, 9, 1, 151, 11, 1, 2, 8, 1, 4, 1, 2, 1, 6, 1, 2, 3, 1, 6, 1, 1, 3, 1, 3, 1, 20, 1, 99, 2, 3, 19, 1, 2, 1, 2, 3, 3, 11, 1, 1, 4, 3, 2, 1, 4, 2, 1, 14, 1, 5, 1, 4, 1, 1, 9, 4, 3, 2, 1, 6, 2, 12, 4, 1, 1, 1, 4, 4, 1, 3, 2, 4, 1, 1, 1, 8, 1, 2, 2, 7, 2, 1, 5, 6, 3, 2, 6, 1, 235, 1, 15, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 7, 1, 4, 1, 5, 1, 1, 2, 2, 5, 3, 3, 1, 35, 4, 25, 3, 1, 3, 1, 7, 6, 2, 1, 3, 3, 1, 3, 1, 2, 4, 1, 75, 1, 1, 2, 19, 8, 7, 1, 27, 1, 2, 1, 1, 2, 1, 1, 2, 2, 10, 2, 1, 1, 5, 36, 3, 7, 1, 24, 3, 3, 12, 2, 1, 1, 6, 1, 1, 2, 4, 1, 6, 3, 1, 8, 5, 2, 1, 2, 8, 2, 6, 1, 16, 1, 3, 1, 1, 1, 1, 2, 1, 8, 5, 10, 5, 1, 10, 1, 26, 1, 3, 1, 2, 11, 9, 57, 1, 1, 3, 1, 9, 1, 14, 1, 21, 1, 1, 2, 6, 1, 5, 6, 1, 2, 1, 1, 2, 1, 31, 1, 1, 2, 4, 3, 1, 2, 12, 126, 6, 3, 1, 4, 1, 1, 1, 12, 15, 6, 1, 10, 42, 5, 2, 1, 2, 7, 11, 1, 1, 2, 1, 7, 2, 11, 1, 1, 1, 1, 6, 2, 3, 3, 1, 3, 3, 1, 2, 1, 5, 1, 11, 1, 2, 2, 4, 1, 4, 1, 5, 2, 4, 15, 1, 1, 7, 1, 3, 3, 3, 1, 2, 1, 1, 1, 3, 2, 10, 2, 13, 1, 1, 15, 1, 10, 2, 6, 1, 30, 31, 1, 1, 15, 59, 1, 1, 1, 2, 39, 1, 1, 1, 1, 4, 3, 22, 1, 7, 1, 3, 3, 1, 4, 1, 23, 2, 2, 2, 1, 4, 2, 6, 3, 4, 5, 2, 13, 3, 1, 1, 1, 1, 18, 11, 1, 1, 2, 14, 3, 10, 1, 2, 3, 1, 1, 2, 1, 2, 1, 2, 1, 6, 1, 1, 2, 5, 2, 5, 2, 1, 1, 2, 4, 1, 4, 2, 6, 2, 1, 1, 1, 1, 24, 16, 3, 1, 1, 1, 2, 106, 1, 3, 1, 48, 2, 7, 1, 6, 1, 1, 3, 2, 1, 39, 174, 1, 17, 14, 1, 1, 2, 1, 2468, 1, 3, 1, 1, 1, 3, 2, 21, 2, 1, 2, 4, 5, 1, 3, 9, 7, 1, 2, 1, 3, 38, 1, 3, 1, 17, 1, 1, 1, 3, 5, 11, 3, 4, 1, 1, 1, 1, 1, 2, 3, 1, 12, 17, 2, 1, 2, 1, 1, 2, 1, 1, 49, 1, 5, 2, 31, 1, 2, 1, 2, 5, 1, 1, 1, 1, 5, 1, 2, 6, 11, 1, 1, 9, 5, 2, 1, 1, 1, 2, 2, 2421, 2, 5, 16, 1, 5, 14, 6, 1, 1, 6, 2, 2, 1, 1, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 1, 33, 1, 5, 1, 5, 6, 4, 4, 1, 1, 2, 5, 1, 4, 1, 4, 3, 1, 2, 2, 8, 5, 1, 1, 8, 6, 1, 4, 2, 1, 2, 1, 12, 3, 2, 1, 1, 2, 1, 2, 2, 1, 14, 2, 20, 2, 1, 1, 6, 5, 235, 3, 1, 2, 1, 5, 1, 1, 1, 27, 4, 1, 3, 3, 1, 1, 1, 1, 14, 10, 1, 16, 1, 1, 2, 3, 23, 1, 1, 1, 149, 3, 2, 2, 1, 3, 1, 3, 3, 2, 2, 1, 27, 6, 22, 1, 2, 1, 3, 5, 1, 1, 4, 4, 1, 1, 1, 2, 10, 1, 1, 3, 4, 10, 4, 4, 1, 308, 1, 1, 1, 1, 1, 1, 4, 10, 2, 6, 17, 1, 2, 2, 1, 4, 3, 74, 1, 3, 1, 29, 48, 28, 2, 1, 4, 2, 5, 1, 1, 1, 1, 1, 1, 4, 5, 2, 3, 1, 6, 1, 9, 25, 5, 1, 6, 1, 2, 1, 6, 4, 1, 2, 21, 8, 12, 1, 7, 1, 2, 2, 1, 1, 11, 2, 29, 2, 3, 4, 1, 7, 5, 4, 3, 7, 1, 2, 1, 2, 1, 1, 4, 1, 1, 1, 1, 1, 11, 1, 1, 1, 2, 12, 1, 1, 2, 1, 45, 1, 4, 2, 1, 1, 47, 2, 3, 1, 2, 2, 18, 1, 1, 13, 2, 1, 3, 2, 298, 2, 3, 3, 3, 1, 1, 11, 52, 8, 7, 1, 4, 3, 4, 18, 2, 11}, giving these values for u and v:

We also need to calculate d = floor(c4·v/F + 0.5) = 92465 8258052938 8203625142 8351665224 8586030202 6960590582 4173825140 1243088985 1943177595 7689022209 3412231241 3374313483 1540401666 1302817105 1631111976 7137803607 3674728856 6186275517 6707145786 8439330886 2435690704 4052456191 9378343821 2777122673 2903711512 9996374287 7672486823 3504025718 2900702496 9507066866 7762764493 5463484678 6147383917 3442605712 9151892861 7941975696 7952515710 1795195270 9094372841 8575624002 2788256727 2895570869 1556016032 9090856682 5339850228 7324722354 7876903229 8988559975 6445442913 6424784197 3697106369 9325878265 4112686932 2500108054 2145976782 6747936467 2759772477 9685993832 6162249530 5958945635 4346927065 6341650219 1285109033 2354166928 7884221974 7337697039 0063259795 6415580233 4149383399 3817595796 7630970900 3285531360 6798559385 4937599700 7047260074 8850676022 4280789421 2519004483 1970682421 8333846590 6178381198 2264369206 0037288451 1944547719 9151442243 7263592349 8731309633 5151147127 9948806635 4446894973 5234658345 0148807236 1747314700 3590792191 4433562095 5354685231 3847768704 1336500305 0667231692 7724180264 4210311681 4670792081 9845396322 0213303181 1456236244 8202702134 9156064764 4718100193 3938766554 0250060456 7323954698 8134870588 8570575570 6006813793 2141810169 7304482857 5791440313 8621391132 9738451854 2485172938 2070177355 8091896942 5059331396 9634879807 5801357849 7482074284 2178990841 9802783395 3600175760 3882344901 0712732587 1659115953 9728654591 3949680530 6658971324 0280704053 3153762637 3208309785 0957646842 7619022184 4066756988 2643089409 5932486216 9256481608 7228346070 4901339350 6545284657 4614357692 0684032711 0339330092 3241425101 5563844056 9616693922 9641505306 9160971360 9123244064 6398089664 9618728457 7229028974 6413184268 4325586864 6535620602

Cubic Polynomial

We now consider the cubic P(x)= v·x3 + (u·F-c1·v)·x2 + (c4·v-d·F+u)·x - d, which we express as: z1·x3 + z2·x2 + z3·x + z4, where:

We need to prove that this cubic has no integer roots r such that r·F+1 is a non-trivial factor of N. Clearly r (if it exists) must lie between 1 and R.

P has a single real root at:

There are no integer roots of P in the interval (1,R), so the proof of primality is complete.