fermat_p==3_mod_80_db.pl 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418
  1. #!/usr/bin/perl
  2. # Let p_1..p_k be distinct prime numbers and let n = p_1 * ... p_k.
  3. # If the following conditions hold:
  4. # a) k == 1 (mod 4) or k == 3 (mod 4)
  5. # b) p_i == 3 (mod 80) for every i in {1..k}.
  6. # c) (p_i-1) | (n-1) for every i in {1..k}.
  7. # d) (p_i+1) | (n+1) for every i in {1..k}.
  8. # Then n is a counter-example to Agrawal's conjecture.
  9. # Carmichael numbers with all prime factors p == 3 (mod 80):
  10. # 330468624532072027
  11. # 1358406397003392026912594827
  12. # 194462892367341977828363075381947
  13. # A Fermat pseudoprime to base 2 with 5 prime factors satisyfing p == 3 (mod 80):
  14. # 121831680646636291086639154608688151372970242384165493441043 = 120163 * 365412643 * 10977269855203 * 450068064063283 * 561608103061989523
  15. use 5.020;
  16. use strict;
  17. use warnings;
  18. use Math::GMPz;
  19. use ntheory qw(:all);
  20. use Math::Prime::Util::GMP;
  21. use experimental qw(signatures);
  22. eval { require GDBM_File };
  23. my $cache_db = "cache/factors.db";
  24. dbmopen(my %db, $cache_db, 0444)
  25. or die "Can't create/access database <<$cache_db>>: $!";
  26. my @results;
  27. while (my ($n, $value) = each %db) {
  28. my $rem = Math::Prime::Util::GMP::modint($n, 80);
  29. ($rem == 27) || ($rem == 3) || next;
  30. Math::Prime::Util::GMP::is_pseudoprime($n, 2) || next;
  31. my @factors = split(' ', $value);
  32. if (scalar(@factors) % 2 and vecall { Math::Prime::Util::GMP::modint($_, 80) == 3 } @factors) {
  33. push @results, Math::GMPz->new($n);
  34. }
  35. }
  36. dbmclose(%db);
  37. @results = sort { $a <=> $b } @results;
  38. foreach my $n (@results) {
  39. say $n;
  40. }
  41. __END__
  42. # Large terms:
  43. 68435117188079800987
  44. 9045346861220750863147
  45. 70335238158892421125867
  46. 87593819813773272093547
  47. 143568240855485868765547
  48. 164853581396047908970027
  49. 243481000190529373149067
  50. 267760547914370791374667
  51. 335097805698069475078907
  52. 470361680578357464725947
  53. 522925572082528736632187
  54. 832560021348422127426667
  55. 1820034970687975620484907
  56. 2149046746349460801430267
  57. 2605157947467797996807947
  58. 3365304608236039495951387
  59. 3859353924864097020236107
  60. 4263739170243679206753787
  61. 4360728281510798266333387
  62. 7900613872696016787189547
  63. 8595345112954412159554507
  64. 11704521751549958367277627
  65. 21515574392553806900834347
  66. 28541906071781213329174507
  67. 29431237363857685816007227
  68. 33833150661360980271172507
  69. 34429703849971249127950027
  70. 36100943328465990644496427
  71. 43238240218100484201369547
  72. 50018650056282930301051147
  73. 57666364049186913724122907
  74. 59539711277327870923212187
  75. 71003662684346882190762667
  76. 84444874320158644422192427
  77. 171707422464325875666659707
  78. 175352076630428496579381067
  79. 176672022178655724505204267
  80. 221081948731696270871926027
  81. 228523370315602155990347467
  82. 264079793768034374742613387
  83. 270136290676063386556053067
  84. 482001813895761038535119227
  85. 533966734737182516824412107
  86. 560066203274245940869779547
  87. 596059132007430984588188347
  88. 615437738523352001584590187
  89. 706818890274970430908597627
  90. 801739996004369134619912107
  91. 894445412046708642512902507
  92. 1358406397003392026912594827
  93. 1536486018499606762223955307
  94. 1815321619539652382319497227
  95. 1837130267804044793751812107
  96. 2023623971222499551187256027
  97. 2619423481524457814188669387
  98. 2651791873888228770082194427
  99. 3408560627000081376639770587
  100. 3688651964985680019488420827
  101. 4081749303988487175194521387
  102. 4391047159586605999625716027
  103. 4655359269748391913551305387
  104. 4687822090078157049203939707
  105. 4813941200693026259680403467
  106. 5762886571360861608394936747
  107. 5976660612741013874144163787
  108. 6967854626910554277690123787
  109. 7561949388208160365888616107
  110. 9537445336204414055092159387
  111. 9759314949604031643356504827
  112. 10211424373781434897965039067
  113. 10626456842160791277843447067
  114. 11260257876970792445537580187
  115. 11274104579369110225450868347
  116. 12059880431783093979950989627
  117. 12189191505056700686401395547
  118. 12551094196754024921403049867
  119. 13250862924216177986720216587
  120. 15229587851188341554449842427
  121. 17222637016345201396446167707
  122. 18038503407552250665853993387
  123. 18197727922992935751648749947
  124. 18887237172079478887827208987
  125. 19470491687991007084482569467
  126. 23976880743114436461734144827
  127. 25102486204818068120581383787
  128. 25556087928963002195904211387
  129. 26877586214793730440180570907
  130. 28260047594389449657211294987
  131. 30405738236455014764072059627
  132. 32206753839720498687161984747
  133. 33946276393541598133240210987
  134. 39323404773648619691409896347
  135. 41613809868072287191858769947
  136. 42269387393663773527797627947
  137. 45381726063201413635153012267
  138. 46722900381132133533985498747
  139. 47097215087330707651150269787
  140. 47524395368130435867023008507
  141. 50178655544981494493786731867
  142. 52926825724005241779868963867
  143. 63039498314030423521426642267
  144. 70144196069941598894345272987
  145. 74495465218970377841884647067
  146. 80539013839535604667400412187
  147. 98840688110829294801402891067
  148. 105559187481858803791971361627
  149. 113889468211854482561385198187
  150. 124356070720998450755736937147
  151. 130797127166536351738398670987
  152. 132673467351775248997835724107
  153. 134565051916597463481553434667
  154. 138107551003803043541406862027
  155. 152678824206282525141363852907
  156. 162533798411310644354045772907
  157. 175634237891853205103641114267
  158. 207482761595366334653921884267
  159. 220047152103707967097522147147
  160. 223292473863558018144247048027
  161. 239439709215397066278294864187
  162. 241274292415248018981040091227
  163. 278046325191879738622053799147
  164. 286407527500073729283719401387
  165. 289090629579189923807673057547
  166. 344180551486551582621442189147
  167. 350457393954193118938048081627
  168. 353697287363995486032595122587
  169. 471869696049612105211164125467
  170. 488473581221954149139141030747
  171. 676094606135994032744383760827
  172. 749577176988878124111649022747
  173. 789987760288757621810609174107
  174. 825895112165258493827896680427
  175. 1309063472737604026836834163867
  176. 1333005715546010658798779135707
  177. 2011438193706072134526587366347
  178. 2091644105799146658205529323627
  179. 2635198530795581839200883036267
  180. 2698268508615793452681755158747
  181. 2744049657285237394380190449547
  182. 2858314843683020711670415037227
  183. 2999407457050751993383031840107
  184. 3486656945342977784275232731147
  185. 3729254181470993091190597868107
  186. 4323790077931048637049074997067
  187. 4337152602903217144146045747547
  188. 4395952000092233206483760166907
  189. 4589810969811252566116702180267
  190. 4923936964099170022827875218747
  191. 5167062603096851770111656563707
  192. 5269928298507102691486455889867
  193. 5551440642398572994697586118587
  194. 5931532300859929362677162828587
  195. 6698308804555252158866602377067
  196. 7392486814714101714348005738587
  197. 8020055409838101367610661280027
  198. 8416251237903450514903799333467
  199. 8705236063214661889238549798827
  200. 10395360055073001859500069701227
  201. 10400512181722974650313557649067
  202. 11177615882646176430262251642187
  203. 13585739431928040667999968107707
  204. 14941624360783434580315298403067
  205. 15821284354583979879248800820347
  206. 17063871452163574624071849818827
  207. 17334361425463050679308487636267
  208. 18254110716595561191226116391867
  209. 21391062724320944516838477402427
  210. 21783266194855114941625027041467
  211. 22067497585080878986240641017227
  212. 24590164743081668680873294621867
  213. 25717575862911759354809431930027
  214. 27261546377394857453758963557787
  215. 27912168181207186826086081681067
  216. 30584381350090257406561923257467
  217. 33276534739605513690592051070587
  218. 33591100158409322318627953353547
  219. 35225328892327637079553516870507
  220. 35799318224506829477121174403867
  221. 37607874227403633801327635087707
  222. 38430913622093366764535981012587
  223. 42160816133924659750814184485467
  224. 48670924289653500120090032644027
  225. 51635062785591698017010519603227
  226. 54925014586258353195676075467547
  227. 55248286671934178004267936963787
  228. 68474933133835163056391395969147
  229. 91458408296024784603898764567547
  230. 92629371670327517380545995358667
  231. 96723114302350464224055267330187
  232. 98667106058556213022561527071227
  233. 99196504799303045899264041291307
  234. 126577200747167414902299139123627
  235. 142167805304648854052568799097227
  236. 150014534289349754528191947506347
  237. 162129839319011256486903911835307
  238. 173568145669586946466122338156587
  239. 194462892367341977828363075381947
  240. 206304054386579576341643791463227
  241. 229429513691051285547355487700907
  242. 280476977578312307236053465624427
  243. 300768869523987466561946236669147
  244. 345717376986053822401713912849307
  245. 414658275351086022782355397982107
  246. 442839655570295024700970861576027
  247. 458282251188485385511385408778907
  248. 546419472269316354956578263798427
  249. 612606598789553280523019043968587
  250. 628863569813718332078636698983787
  251. 640000037564716254836036890329067
  252. 710022669285258155894084780199067
  253. 738947918193649829329769905130107
  254. 747592822470126405563625924591547
  255. 755185965886577202237505993992667
  256. 786210379368657981081111058822987
  257. 797894105629283052815217244970827
  258. 845079274754923357898882440148827
  259. 1094219379605472528291464401109227
  260. 1251862366501925028458085888089227
  261. 1345456455021991863849834333685387
  262. 1408863049077559019701009279150027
  263. 1612656512173149658186839806008267
  264. 1808495952522729686238988884752107
  265. 1881750082592741664546466488481627
  266. 1944508311495820139081874649530667
  267. 2426506221045160095747173061601627
  268. 2566012354758286283788792633730347
  269. 2742412319560898898218756902912267
  270. 2946568408002988456887449819182027
  271. 2967365938620486959145141445227307
  272. 4469121796803755539832113113728107
  273. 4538205195003463689143207571318427
  274. 4893963115775302956048297406740667
  275. 5487159270130488510568295190835387
  276. 5489862206694866351393724555420187
  277. 6727113172793111588530087835299627
  278. 7600338228772653307104492177864907
  279. 8266927603234967224161673658298427
  280. 15773525900163441781756393474200907
  281. 18690220442873831573763412305318667
  282. 25518910755983539249209123460138907
  283. 27571841024909344138702942089621787
  284. 35767515776336486441794927621359787
  285. 36020629240784273504534127669074107
  286. 43695897287642288996190843022354747
  287. 51136900301252933411702510323585627
  288. 58528991918330191797325764864970987
  289. 66592847798631095322810098574100267
  290. 83494712161500444107047218738656827
  291. 86480491452525098398572600381730267
  292. 108433543307514226302958306002244027
  293. 130180240952697495904800834240734827
  294. 133821300239684360736252644872482667
  295. 170552917495235874158626978127000107
  296. 172984810849424324762378882128710427
  297. 190396974079269426009063603932421067
  298. 232811018206485989295674832899151547
  299. 234152953348022502725277795404949787
  300. 284750126190279772046593069630281307
  301. 285153731222819008388631605358959947
  302. 300487571294121915406875103743003067
  303. 520398855012510718909216488416926027
  304. 561148536051080141365274673553230187
  305. 565809263979301739072426102457987547
  306. 599560312440201267491236428174127867
  307. 1062786977228478694479531113234998747
  308. 1112978788534539481233247602656645947
  309. 1144608868849607279387313661976888827
  310. 1463410133605023433177083762522668747
  311. 1657725999727963143759627502589518747
  312. 1733236080821264822430016026809423227
  313. 1789193964491133130497855912644047627
  314. 2077239295163783831955475810954313227
  315. 2118809348128179868095547676520693787
  316. 2270416716376876097865905317425502507
  317. 3564678402153467597009712737008591147
  318. 3817335039803602623515571575603132107
  319. 3889574700231196618950977702240482507
  320. 4611899725645331135484932892396314347
  321. 5704824848146777528756530624599705947
  322. 5840631861566338554414545306296905067
  323. 9110327195790972519806517273647708347
  324. 9948518350017479225895668647848731947
  325. 10287927036337801458583696631096261947
  326. 13155270634594728000203114097497140267
  327. 16835682706680004631856063013425950107
  328. 16979610282130799873691895318594844107
  329. 17186723157944297837317253317865099227
  330. 18161863735887497909586060895673172187
  331. 19788767953972394762060607068480717947
  332. 22671572241434885951766851351324607067
  333. 23744151985580497625531517179564645227
  334. 29857466643115284005005539122178688267
  335. 33709150280466595775751037567891185547
  336. 36950917133948538657337202740356491467
  337. 51177718298483881344103782732394787467
  338. 65467453161151866487578707790498831307
  339. 69468456685179147370864916310349146667
  340. 69925959340410012383850804820723112587
  341. 83021349313256741919945700532411320267
  342. 134417527688607330219566014114306497307
  343. 136041910606897673889118324344169062907
  344. 171709158807103345247838932669061732667
  345. 177985445353012310295551927467711280347
  346. 187152315448955632561506299668782209947
  347. 187529081735311932494084450182042115467
  348. 201252221218667500778582008333718065627
  349. 206950290600826298990927343300766066267
  350. 227802448978147070312636764065297243787
  351. 276156403408517422813558816669841928187
  352. 329787065971878801867859922230235530267
  353. 338232902333986596568237865271955017307
  354. 365807964135148271872125311645400662587
  355. 371322134240355544149847306798533548347
  356. 394174648214260169967912735545134824907
  357. 442173220927955751562626240479207542987
  358. 469001343906370045168223301796040765467
  359. 492376920895221846841896913726955086987
  360. 542803006449436961232209382250545236827
  361. 552154426609865293362856821483132735787
  362. 581284113904086154346088397068397040587
  363. 613196247538565229767563636435952707627
  364. 697880965260408905036690110028290674187
  365. 720790515074128308445793394037533193147
  366. 818648680412181200692097304025291488907
  367. 874291646625077394331037199170277848347
  368. 980807007578394453772881418272194255227
  369. 1034871069706942603225661887894535228347
  370. 1515834240327990618475399415220106382587
  371. 1809095680925910345141579827902504102267
  372. 2500253757671125742642567721287020640827
  373. 2926294517956266929540521236583644030187
  374. 4638698299713574777754341609182957016747
  375. 4671119479972759512190083808429697851867
  376. 5016401360397029998876928037054465279547
  377. 6294563838426330438958714257489083916907
  378. 6755735188355794892569938121545771785947
  379. 8083224020214903588376560879818854193947
  380. 11109042669094674473252401978626065813227
  381. 14689691478923833346996919587161707701467
  382. 16086391305527453926905019142561192320267
  383. 25427830986886285443110990874262040589787
  384. 285837430125177875337407905992480883035547
  385. 4987907302758736994622148510194614517951642187
  386. 377554215320518336098718048365615062191243733467
  387. 8455815296459309007028238231947968764699701575547
  388. 8633135194947460439082492928941395800440787220507
  389. 6677381841560475568475381858135041590681358196918347
  390. 121831680646636291086639154608688151372970242384165493441043
  391. 120051749507432728558432408124149264824699469166213421449112163
  392. 209049726214423972650644255886235335009269075962644824906422805829521876803
  393. 1286243694723516727213368443559530030349949003135449627873454306561721509603
  394. 146514041087757753829845217182294094783212145787671259314683616591865804391227