Cím: Prímképletek
Szerző(k):  Laczkovich Miklós 
Füzet: 1997/október, 385 - 398. oldal  PDF  |  MathML 
Témakör(ök): Szakmai cikkek

A szöveg csak Firefox böngészőben jelenik meg helyesen. Használja a fenti PDF file-ra mutató link-et a letöltésre.

A 31, 331, 3331, 33331, 333331, 3333331, 33333331 számok mind prímek. Ezt úgy is kifejezhetjük, hogy a (10n-7)/3 képlet prímszámot szolgáltat az n=2, 3, ..., 8 értékek mindegyikére. A 333333331=(109-7)/3 szám azonban már összetett, mert osztható 17-tel. Ezt az osztás elvégzése nélkül is beláthatjuk a kongruencia jelölésének felhasználásával. Azt mondjuk, hogy a kongruens b-vel modulo m (képletben ab(modm)), ha a és b azonos maradékot adnak m-mel osztva; azaz, ha a-b osztható m-mel. Könnyű ellenőrizni, hogy azonos modulushoz tartozó kongruenciákat szabad összeadni és szorozni. Azaz, ha ab(modm) és cd(modm), akkor a+cb+d(modm) és acbd(modm).
Mivel 102=176,  így  109=100410(-2)410-107(mod17), tehát 109-7 osztható 17-tel. Meg lehet mutatni egyébként, hogy 33...331 sohasem osztható a 2, 3, 5, 7, 11, 13, 37 prímek egyikével sem. Nem ismeretes, hogy van-e végtelen sok 33...331=(10n-7)/3 alakú prímszám. Ez a kérdés minden bizonnyal éppolyan nehéz, mint hogy van-e végtelen sok 2n-1 alakú, ún. Mersenne-prím. Az utóbbi probléma pedig több száz éve megoldatlan.
Az alábbi táblázatban a bekeretezett (nem áthúzott) számok sokáig prímeknek bizonyulnak:

 
19  21  23  25  27  29  31  33  35  37  39  41  43  45   47  49  51  53  55  57  59   61  63  65  67  69  71  73   75  77  79  81  83  85  87   89  91  93  95  97  99  101   103  105  107  109  111  113  ....
 

De mégsem lesz mindegyikük prím. A k-adik bekeretezett szám ugyanis 17+(1+2+...+k)2=k2+k+17, és ez biztosan összetett k=16-ra, hiszen ekkor k2+k+17=k(k+1)+17=172. Meglepő módon a k2+k+17 képlet a k=0, 1, ..., 15 helyettesítési értékek mindegyikére prímet ad.
Ha meg akarjuk keresni azokat a p pozitív egészeket, amelyekre k2+k+p prímszám a k=0, 1, ..., p-2 értékek mindegyikére, akkor a következőképpen okoskodhatunk. Először is (k=0-t véve) p prímszám kell, hogy legyen. Ha p>3, akkor az 12+1+p és 22+2+p számok nem lehetnek sem 3-mal, sem 5-tel oszthatók, így p 3-mal osztva 2-t, 5-tel osztva pedig 1-et vagy 2-t ad maradékul. Mivel p páratlan is, ezért a 30-cal való osztási maradéka csak 11 vagy 17 lehet. Egy további feltétel, hogy 4p-1-nek is prímnek kell lennie. Tegyük fel ugyanis, hogy d4p-1 és 1<d<4p-1. Ekkor d(4p-1)/3 és d=2x+1, ahol tehát
x<d24p-16p-2,
ha p>5. Így x2+x+p-nek prímnek kell lennie. Azonban d osztója 4(x2+x+p)=(2x+1)2+4p-1=d2+(4p-1)-nek, tehát x2+x+p-nek is, hiszen páratlan. Ez csak úgy lehetséges, ha d=2x+1=x2+x+p>x2+x+2, x2-x+1<0, ami lehetetlen.
Azt kaptuk tehát, hogy vagy p=2, 3, 5, vagy pedig p olyan 30k+11 vagy 30k+17 alakú prímszám, amelyre 4p-1 is prím. A 100-nál kisebb számok közül ezeket a feltételeket csak a 2, 3, 5, 11, 17, 41, valamint a 71 elégítik ki. Ezek közül a p=2, 3, 5, 11, 17, 41 számokra valóban teljesül, hogy k2+k+p prímszám a k=0, 1, ..., p-2 értékek mindegyikére. A 71-re ez már nem igaz, mert 22+2+71=77 összetett. Sokáig megoldatlan volt, hogy a 41 után van-e még ilyen tulajdonságú szám. Csak az 1960-as években sikerült bebizonyítani, hogy ilyen szám nem létezik.

A fentiek alapján természetesen vetődik fel az a kérdés, hogy van-e olyan képlet, amelynek a pozitív egészekben felvett értékei mind prímek. Először megmutatjuk, hogy egy egész együtthatós polinom ‐ hacsak nem konstans ‐ nem szolgáltathat ilyen képletet. Ennek bizonyításához két segédtételre lesz szükségünk. Először is belátjuk, hogy ha p(x)=ckxk+ck-1xk-1+...+c0 egész együtthatós polinom, akkor ab(modm) esetén p(a)p(b)(modm). Valóban,
p(b)-p(a)=ck(bk-ak)+ck-1(bk-1-ak-1)+...+c1(b-a).(1)
Itt  bi-ai-ből  (b-a) kiemelhető: bi-ai=(b-a)(bi-1+bi-2a+...+bai-2+ai-1). Ha (1) jobb oldalának minden tagjából kiemeljük b-a-t, akkor azt kapjuk, hogy p(b)-p(a)=(b-a)A, ahol A egész szám, hiszen a, b, c0, ..., ck mindannyian egészek. Így p(b)-p(a) osztható b-a-val. Ha ab(modm), akkor m osztója b-a-nak, tehát p(b)-p(a)-nak is, azaz p(a)p(b)(modm).
A másik állítás, amelyre szükségünk van, azt állítja, hogy ha a
p(x)=ckxk+ck-1xk-1+...+c0
polinom nem konstans és a főegyütthatója pozitív, akkor p(x) minden előre megadott számnál nagyobb lesz, ha x elég nagy. Ezt így láthatjuk be: Jelöljük a |ck-1|+...+|c1|+|c0| számot c-vel. Ha x>1, akkor 1<x<x2<...<xk-1, tehát
p(x)ckxk-|ck-1|xk-1-...-|c1|x-|c0|ckxk-|ck-1|xk-1-...-|c1|xk-1-|c0|xk-1==ckxk-cxk-1=xk-1(ckx-c).
Ha x>c/ck, akkor ckx-c>0, tehát x>1 alapján p(x)>ckx-c. Ha tehát azt akarjuk, hogy p(x) nagyobb legyen egy előre megadott K>0 számnál, akkor x-et elég úgy választani, hogy nagyobb legyen 1 és (c+K)/ck mindegyikénél. Ekkor ugyanis a fentiek szerint p(x)>ckx-c>K teljesülni fog.
Világos, hogy ha p nem konstans, és a főegyütthatója negatív, akkor p(x) minden előre magadott számnál kisebb lesz, ha x elég nagy.
Most már könnyen beláthatjuk, hogy ha az egész együtthatós p(x) polinom nem konstans, akkor a p(n) értékek nem lehetnek mind prímek. Válasszunk ugyanis egy olyan n0 pozitív egészet, amelyre |p(n0)|=m>1. Ha n=n0+im (i=1, 2, ...), akkor nn0(modm), tehát p(n)p(n0)=±m0(modm), azaz p(n) osztható m-mel. De tudjuk, hogy |p(x)|>m, ha x elég nagy; mondjuk, ha x>x0. Ekkor minden elég nagy i-re n=n0+im>x0, így |p(n)|>m és p(n) osztható m-mel, tehát p(n) összetett.
A polinomoknál jóval komplikáltabb képletekről is beláthatjuk, hogy nem szolgáltathatnak csupa prímszámot. Ennek tárgyalásához szükségünk lesz az ún. ,,kis Fermat-tételre'', ami azt állítja, hogy ha p prím és n nem osztható p-vel, akkor np-11(modp). Ezt így láthatjuk be:
Az n, 2n, ..., (p-1)n számok csupa különböző maradékot adnak p-vel osztva. Valóban, ha injn(modp), akkor pin-jn=(i-j)n. Mivel p prím és n nem osztható p-vel, ebből következik, hogy pi-j. Ha tehát 1i, jp-1, akkor szükségképpen i=j.
Mivel az n, 2n, ..., (p-1)n számok egyike sem osztható p-vel, ebből következik, hogy a p-vel vett osztási maradékaik az 1, 2, ..., p-1 számok (esetleg más sorrendben). Így n2n(p-1)n12(p-1)(modp), azaz np-1(p-1)!(p-1)!(modp). Ezért p(np-1-1)(p-1)!, tehát p(np-1-1), hiszen p nem osztója (p-1)!-nak.
Ennek felhasználásával lássuk be például, hogy az f(n)=22n+18n+1 képlet nem szolgáltathat csupa prímet. Az f(1)=41 érték mindenesetre prím, ezért 22401(mod41) és 18401(mod41). Ebből következik, hogy 2240k1(mod41) és 1840k1(mod41) minden k pozitív egészre. Ha tehát n=40k+1, akkor
22n+18n+1=2240k+1+1840k+1+1==222240k+181840k+122+18+1=410(mod41),
és így f(40k+1) nem lehet prím, ha k>0.
Most bizonyítsuk be, hogy az
f(n)=100(n2+n)n3+n2+2n+1
képlet sem szolgáltathat csupa prímet! (Ez kicsit nehezebb lesz.) Először is válasszunk egy olyan n0 pozitív egészet, amelyre p=f(n0)>n02+n0. Ilyen például n0=1, amikor is p=1601>2. Ha p összetett szám, akkor máris beláttuk, hogy f értékei a pozitív egészekben nem mind prímek. Ha p prím (mint az adott esetben is), akkor tekintsük az n=n0+ip(p-1) alakú számokat, ahol i=1, 2, .... Belátjuk, hogy ezekre az n-ekre f(n) mindig osztható p-vel. Valóban, rögzítsünk egy ilyen n-et, és tekintsük a q(x)=100xn3+n2+2n+1 polinomot. Tudjuk, hogy ha ab(modm), akkor q(a)q(b)(modm). Mivel nn0(modp), ezért q(n)q(n0)(modp), azaz
f(n)=100(n2+n)n3+n2+2n+1100(n02+n0)n3+n2+2n+1(modp).(2)
Ugyanígy, felhasználva, hogy nn0(modp-1), azt kapjuk, hogy n3+n2+2nn03+n02+2n0(modp-1), tehát n3+n2+2n=n03+n02+2n0+c(p-1), ahol c pozitív egész. Ezt (2)-be helyettesítve azt kapjuk, hogy
f(n)100(n02+n0)n03+n02+2n0+c(p-1)+1100(n02+n0)n03+n02+2n0(n02+n0)c(p-1)+1(modp).(3)
Mivel 1n02+n0<p, ezért a kis Fermat-tétel szerint (n02+n0)(p-1)1(modp), és így, tekintve, hogy c pozitív egész, azt kapjuk, hogy (n02+n0)c(p-1)1(modp). Ezt (3)-ba helyettesítve:
f(n)100(n02+n0)n03+n02+2n0+1=p0(modp),
tehát f(n) valóban osztható p-vel. Mivel f szigorúan monoton növő, ezért i>0-ra n=n0+ip(p-1)>n0-ból f(n)>f(n0) következik, ezért f(n) összetett szám lesz. Így például f értéke az 1+16011600=2561601 helyen osztható 1601-gyel, és ezért összetett.
A következő általános tétel hasonló módszerrel bizonyítható. Legyen f(n) olyan képlet, amely p(n)q(n) alakú kifejezések szorzatainak összege, ahol p(n) és q(n) egész együtthatós polinomok, melyek közül a q(n)-ek főegyütthatói pozitívak. Ha az f(n) (n=1, 2, ...) értékek között van végtelen sok különböző, akkor ezen értékek között van végtelen sok összetett szám.
Itt a végtelen sok különböző értékre vonatkozó feltétel lényeges, mert pl. az f(n)=18+(-1)n képlet a fenti alakú és f minden értéke prím.

A fenti tétel azt állítja, hogy ha f(n) csupa prímszámot ad minden n pozitív egészre, akkor az f-et definiáló képlet a fent leírtaknál bonyolultabb kell, hogy legyen. Ha például olyan prímképletet keresünk, amelyben csak az összeadás, kivonás, szorzás és hatványozás műveleteit használhatjuk, akkor szerepelnie kell benne olyan ,,emeletes hatványnak'' (azaz kitevőben szereplő hatványnak), amelynek a kitevője tartalmazza az n változót. A legegyszerűbb ilyen képlet: 22n. Ez persze n>0-ra nem ad prímeket, mert mindig páros. De mi a helyzet a 22n+1 képlettel? Az n=0, 1, 2, 3, 4 számokat behelyettesítve a 3, 5, 17, 257, 65537 értékeket kapjuk; mindnyájan prímek. Ennek alapján Pierre de Fermat azt sejtette (1640 körül), hogy Fn=22n+1 minden n-re prímszám. Ez a sejtés csaknem 100 éven át megoldatlan maradt, mert a következő szám:
F5=225+1=4294967297
már olyan nagy, hogy annak eldöntése, hogy prím-e vagy sem, reménytelennek látszott. Valóban, gondoljunk csak bele: ha sem kalkulátor, sem számítógép nem állna rendelkezésünkre, el tudnánk-e dönteni, hogy F5 prím-e? Volna-e jobb ötletünk, mint elosztani F5-öt minden nála kisebb számmal? Persze elég volna csupán a F5-nél nem nagyobb számokkal osztani, hiszen ha egy n szám összetett, akkor van olyan d osztója, amelyre 1<dn. Az adott esetben tehát csak a 65536-nál nem nagyobb számokkal kellene osztani; sőt, ezek közül elég lenne a prímeket venni, melyek száma kb. 6500. Ha minden osztás két percet vesz igénybe, még ez is 200 óra munka volna; nem csoda, ha olyan sokáig senki nem vállalkozott rá.
Végül is Leonhard Euler volt az, aki 1732-ben a kérdést eldöntötte. Euler felismerte, hogy Fn prímosztói csak speciális alakúak lehetnek, nevezetesen Fn minden prímosztója k2n+1+1 alakú, ahol k pozitív egész. Ezt a következőképpen láthatjuk be. Legyen p egy prímosztója Fn-nek. Mivel p páratlan, ezért a kis Fermat-tétel szerint 2p-11(modp). Legyen d a legkisebb pozitív egész, amelyre 2d1(modp). Ekkor a 2-hatványok p-vel való osztási maradékai d szerint periodikus sorozatot alkotnak. Valóban, 2d1=20 alapján 2d+12=21, 2d+2221=22, 2d+3222=23, és hasonlóan, 2d+i2i minden i-re (a kongruenciákat (mod p) értve). Ebből következik, hogy 2sd1 minden s=1, 2, ...-re. Másrészt d választása folytán 2i1 ha 0<i<d, ezért a periodicitásból következik, hogy 2m akkor és csak akkor ad 1 maradékot p-vel osztva, ha m osztható d-vel.
Mármost 22n+11(modp), ugyanis 22n+1-1=(22n+1)(22n-1), tehát 22n+1-1 osztható Fn-nel, tehát p-vel is. A fentiek szerint ebből következik, hogy d|2n+1. Megmutatjuk, hogy szükségképpen d=2n+1. Valóban, d<2n+1 esetén d osztója lenne 2n-nek is. Ebből viszont 22n1 következne, holott 22n=Fn-1-1(modp), hiszen p|Fn. Ezzel beláttuk, hogy d=2n+1. Mivel pedig 2p-11(modp), ezért 2n+1=d|p-1, tehát p-1=k2n+1, azaz p=k2n+1+1, ahol k pozitív egész.
Valójában Euler azt is belátta, hogy ha n2 és a p prím osztója Fn-nek, akkor p=k2n+2+1, ahol k pozitív egész. Meg lehet mutatni ugyanis, hogy ha a p prím 8k+1 alakú, akkor 2(p-1)/21(modp). A fenti okoskodásban ezért 2n+1=d|(p-1)/2, tehát (p-1)/2=k2n+1, azaz p=k2n+2+1, ahol k pozitív egész.
Ezt n=5-re alkalmazva azt kapjuk, hogy F5 minden prímosztója 27k+1=128k+1 alakú. Ez jelentősen leszűkíti a lehetőségeket. A 2-nél nagyobb prímek ugyanis 128-cal osztva 64-féle maradékot adhatnak (nevezetesen az 1, 3, ..., 127 számokat), és azt várhatjuk, hogy a 65536-nál kisebb prímeknek durván 1/64-ed része lesz 128k+1 alakú. Ez kb. 6500/64<102 prímet jelent. Ezért annak eldöntéséhez, hogy F5 prímszám-e, a 6500 osztás helyett várhatóan a legrosszabb esetben is elég száz-egynéhány osztást elvégezni. Euler elszánta magát ennek az elvégzésére. Óriási szerencséje volt; az első 128k+1 alakú prím, 257, ugyan nem osztója F5-nek, de a második, 641, már igen: F5=4294967297=6416700417. Ezzel Fermat sejtése megdőlt: az Fn=22n+1 képlet nem állít elő minden n-re prímszámot.
Egyébként a következő Fermat-szám, F6 prímtényezőkre bontását csak 1880-ban sikerült megtalálni: F6=27417767280421310721. Az ezt követő Fermat-szám, F7 faktorizációját 1970-ben találták meg; eszerint F7 egy 17-jegyű és egy 22-jegyű prím szorzata. Azóta kiderült, hogy Fn összetett szám minden 5n21-re (bár nem mindegyiküknek sikerült meghatározni a prímtényezős alakját). Sok nagyobb indexű Fermat-számot is megvizsgáltak, de még egy prímet sem találtak közöttük.
A fentiekből az a tanulság, hogy hacsak egy képletről nem tudjuk eleve, hogy valamilyen oknál fogva minden értéke prímszám lesz, akkor nem várhatjuk el, hogy ezt ,,szívességből'' megtegye, még akkor sem, ha az első néhány értéke prím (mint pl. az n2+n+17,n2+n+41 vagy a 22n+1 képletek esetében).
Eddig senki nem talált olyan képletet, amely egész számokból és az n változóból az összeadás, kivonás, szorzás és hatványozás műveleteinek segítségével épül fel, és amely minden pozitív egész n-re prímszámot szolgáltat (azt is feltéve persze, hogy a képlet végtelen sok különböző értéket ad). A következőkben megmutatjuk, hogy a feltételek enyhítésével már találhatunk ilyen képleteket.

Először olyan képleteket tekintünk, amelyekben nemcsak egészek, hanem tetszőleges valós konstansok is szerepelhetnek. Ekkor persze az x szám egészrészét megadó [x] függvény használatát is meg kell engednünk, mert különben nem tudjuk biztosítani, hogy a képlet egész számokat szolgáltasson. (E függvény definíciója a következő: [x] az az egyértelműen meghatározott egész szám, amelyre [x]x<[x]+1. Így pl. [3/2]=1,[π]=3,[7]=7,[-4]=-4,[-3/2]=-2,[-π]=-4.) Ezek felhasználásával már viszonylag egyszerű képletet adhatunk az n-edik prímszámra, amelyet a következőkben pn-nel fogunk jelölni. Megmutatjuk, hogy van olyan α valós szám, amelyre
pn=[10n2α]-102n-1[10(n-1)2α](n=1,2,...).(4)
Képezzünk ugyanis a prímszámok pn sorozatából egy végtelen tizedestörtet a következőképpen. A tizedestört egészrésze 0 lesz. A tizedesvessző után írjuk le egymás után a prímszámokat, megfelelő számú 0-val elválasztva őket. Az elválasztó 0-k számát úgy választjuk meg, hogy pn utolsó számjegye éppen a tizedesvessző utáni n2-edik helyre kerüljön. Tehát az 1., 4., 9., 16. jegy a 2-es, 3-as, 5-ös, 7-es lesz, a 24. és a 25. 1-es, a 35. ismét 1-es, a 36. 3-as, stb. Legyen az így definiált végtelen tizedestört α, tehát legyen
α=0,20030000500000070...0110...0130....
Ekkor An=[10n2α] az az egész szám, amelynek a jegyeit az α-nak a tizedesvessző utáni első n2 jegye adja. A konstrukcióból adódik, hogy An egy olyan n2-jegyű szám, amely éppen pn jegyeivel végződik. Nyilvánvaló, hogy az An első (n-1)2 jegyéből képzett szám An-1=[10(n-1)2α] lesz. Ha tehát An-1-et kiegészítjük n2-(n-1)2=2n-1 darab 0-val, azaz megszorozzuk 102n-1-gyel, és az így kapott számot kivonjuk An-ből, akkor éppen pn-et kapjuk. Ezzel (4)-et beláttuk.
A fenti konstrukcióban hallgatólagosan felhasználtuk, hogy pn jegyeinek száma legfeljebb n2-(n-1)2=2n-1, mert különben pn ,,nem férne el''. Megmutatjuk, hogy pn jegyeinek száma legfeljebb n.
Nevezzünk egy m számot négyzetmentesnek, ha nem osztható 1-nél nagyobb négyzetszámmal. Ez azzal ekvivalens, hogy az m prímtényezős felbontásában minden prím első hatványon szerepel; azaz, hogy m különböző prímek szorzata. Bármely k egész szám előáll mint egy négyzetszám és egy négyzetmentes szám szorzata. Ha ugyanis k-t elosztjuk azzal a legnagyobb osztójával, amely négyzetszám, akkor a hányados nyilván négyzetmentes lesz. (Ha k négyzetmentes, akkor 1-gyel osztunk.)
Írjuk fel a pn-nél nem nagyobb számokat b2c alakban, ahol c négyzetmentes. Itt b2pn, tehát bpn. A c szám különböző prímek szorzata, melyek mindegyike legfeljebb pn, hiszen cpn. Így c-t úgy kapjuk, hogy a p1, p2, ..., pn prímek közül néhányat összeszorzunk. Ezt 2n-féleképpen tehetjük meg (annyiféleképpen, ahány részhalmaza van a {p1,p2,...,pn} halmaznak). A b számot tehát legfeljebb pn-féleképpen, a c számot pedig legfeljebb 2n-féleképpen választhatjuk meg. Mivel b2c alakban minden pn-nél nem nagyobb szám előáll, ebből következik, hogy pnpn2n, pn2n, és így pn4n. Mivel 4n<10n, ezért pn legfeljebb n-jegyű.
 
Ez a becslés lényegesen javítható: valójában pn jegyeinek száma alig nagyobb n jegyeinek számánál. Így pl. p100=541,p1000=7919,p10000=104729,p1010 11-jegyű, p10100 pedig 102-jegyű. Az utóbbi két állítás abból következik, hogy
n(logn+loglogn-1,5)<pn<n(logn+loglogn+8),valamint nlogn<pn
minden n2-re. E képletekben logn az ún. természetes, vagy e alapú logaritmus, amelynek alapja e=limn(1+1n)n=2,71828....
A (4) képletre visszatérve megállapíthatjuk, hogy a puszta érdekességén kívül más haszna nemigen van; például nem használhatjuk fel prímszámok gyártására. Ahhoz ugyanis, hogy a képlet segítségével pn értékét meghatározhassuk, tudnunk kellene α értékét. Ehhez viszont már ismernünk kellene az összes prímszámot. Egyébként vannak még egyszerűbb prímképletek is: létezik például egy c>1 valós szám úgy, hogy [c3n] prímszám lesz n minden pozitív egész értékére. Ennek a képletnek ugyanaz a baja, mint (4)-nek: c meghatározásához végtelen sok prímszámot kell felhasználni.

Most rátérünk azokra a prímképletekre, amelyekben a konstansok csak egész számok lehetnek, de a felhasználható műveleteket nem korlátozzuk. Megmutatjuk, hogy ha az alapműveleteken kívül felhasználhatjuk az [x] (egészrész), {x}=x-[x] (törtrész) függvényeket, valamint a
i=knai=ak+ak+1+...+anési=knai=akak+1...an
jelöléseket, akkor szintén kaphatunk képleteket pn-re. Jelöljük π(x)-szel az x számnál nem nagyobb prímek számát. Először π(x)-re adunk képletet.
Ha az n>2 szám prím, akkor az n2, n3, ..., nn-1 számok egyike sem egész, tehát az {n2},{n3},...,{nn-1} törtrészek egyike sem 0. Ekkor tehát a i=2n-1[-{ni}] szorzat minden tényezője -1 (mert egy -1 és 0 közé eső szám egészrésze). A szorzat értéke tehát -1, hiszen a tényezők száma n-2, ami páratlan. Ha viszont n összetett, akkor n/i egész szám lesz legalább egy 2in-1-re, és ekkor [-{ni}]=[-0]=0 alapján a fenti szorzat értéke 0. Így x3 esetén a
-n=3xi=2n-1[-{ni}]
képlet értéke π(x)-1, hiszen a szumma n-edik tagja -1 ha n prím, és 0 ha n összetett. (π(x)-ből azért kell 1-et levonni, mert a 2-t kizártuk a szummából.) Azt kaptuk tehát, hogy
π(x)=1-n=3xi=2n-1[-{ni}](x=3,4,...).(5)
Valamivel egyszerűbb képletet is kaphatunk π(x)-re az ún. Wilson-tétel felhasználásával. Ez azt állítja, hogy ha p prím, akkor (p-1)!-1(modp).
Ezt így láthatjuk be: Az állítás p=2, 3-ra nyilvánvaló, tehát feltehetjük, hogy p5. A kis Fermat tétel bizonyításakor megmutattuk, kogy ha n nem osztható p-vel, akkor az n, 2n, ..., (p-1)n számok p-vel vett osztási maradékai az 1, 2, ..., p-1 számok (esetleg más sorrendben). Ebből következik, hogy az 1, 2, ..., p-1 számok között pontosan egy olyan i szám van, amelyre ni1(modp). Nevezzük ezt a számot n reciprokának (mod p). Ha nm(modp), akkor n és m reciprokai különbözők. Valóban, nimi1-ből következik, hogy pni-mi=(n-m)i, tehát pn-m, hiszen 1ip-1. Ha egy 1np-1 szám reciproka önmaga, akkor n21, pn2-1=(n-1)(n+1), tehát n=1 vagy n=p-1.
A fentiekből következik, hogy a 2, 3, ..., p-2 számok mindegyikét a reciprokával párosítva diszjunkt párokat kapunk. Mivel az egy párhoz tartozó számok szorzata p-vel osztva 1-et ad maradékul, ezért 23(p-2)1(modp), tehát (p-1)!-1(modp).
 
A Wilson-tétel megfordítható: ha n>1 osztója (n-1)!+1-nek, akkor n prím. Valóban, ha 1<d<n, akkor d|(n-1)!. Ha d osztója volna n-nek, akkor n|(n-1)!+1 alapján d is osztója volna (n-1)!+1-nek, ami lehetetlen. Így n nem osztható a 2, ..., n-1 számok egyikével sem, tehát prím. Összefoglalva: az ((n-1)!+1)/n tört akkor és csak akkor egész, ha n=1 vagy n prím. Ebből következik, hogy
n=1x[-{(n-1)!+1n}]=-(x-π(x)-1),
hiszen összetett n-re a szumma n-edik tagja -1, míg prím n-re és n=1-re 0. Ebből azt kapjuk, hogy
π(x)=x-1+n=1x[-{(n-1)!+1n}](x=1,2,...).(6)
Az (5) és (6) képletek mindegyikét felhasználhatjuk pn kifejezésére. Jelöljük ϕ-vel azt a függvényt, amelyre
ϕ(x)={1,ha  x=0, 1, 2,  ...,  0,ha  x=-1,  -2,  ....  
(A ϕ függvényt csak az egész számokban értelmezzük.) A ϕ függvényre könnyen adhatunk képletet, pl. ϕ(x)=1+[13x+2] minden x egész számra. Mármost kpn esetén π(k)n, tehát ϕ(n-π(k))=1, míg k>pn esetén π(k)>n, tehát ϕ(n-π(k))=0. Ebből következik, hogy
pn=k=14nϕ(n-π(k)).
Valóban, a szumma tagjainak értéke k=1, ..., pn esetén 1, egyébként pedig 0. Mivel pn4n, ezért a szumma értéke pn. Ha ebben a formulában ϕ(x) helyébe 1+[1/(3x+2)]-t írunk, π(x)-et pedig (6)-tal helyettesítjük, akkor a következő képletet kapjuk pn-re:
pn=4n+k=14n[13n-3k+5-3i=1k[-{(i-1)!+1i}]](n=1,2,...).
(Itt (6) helyett (5)-öt is alkalmazhatjuk, de ekkor apró módosítás szükséges, tekintve, hogy (5) csak x3-ra érvényes.)
Természetesen jó volna olyan prímképletet találni, amelyben a felhasznált műveletek száma minimális. Már említettük, hogy nem ismeretes olyan prímképlet, amelyben csak összeadás, szorzás és hatványozás szerepel. A következőkben a célunk annak bizonyítása, hogy van olyan prímképlet, amelyben csak összeadás, kivonás, szorzás, [x],x és maximum szerepel. Ennek az ismertetését messziről kell kezdenünk.

Diophantosz görög matematikus volt, aki a harmadik században élt Alexandriában. ,,Aritmetika'' című művében egész együtthatós egyenletek egész, illetve racionális megoldásait vizsgálta, és az ilyen egyenleteket azóta diofantoszi vagy diofantikus egyenleteknek nevezik. Ilyenek például
x2-2y2=1,x2-60y2=1,x2-61y2=1,(7)
vagy
x3+y3=u3+v3,x4+y4=u4+v4,x5+y5=u5+v5.(8)
A (7) alatt felsorolt három egyenlet mindegyikének megoldása x=1,y=0; ezeket triviális megoldásnak hívjuk. Nem triviális megoldások is léteznek: az első egyenlet legkisebb pozitív egész megoldása x=3,y=2, a másodiké pedig x=31,y=4. A harmadiké viszont x=1766319049,y=226153980.
A (8) alatt felsorolt egyenletek triviális megoldásai azok, amelyekre x=u, y=v vagy x=v, y=u. Az első két egyenletnek vannak nem-triviális megoldásai is, pl. 93+103=13+123, illetve 1334+1344=594+1584. A harmadiknak viszont nem ismerjük egyetlen nem-triviális megoldását sem, de az sincs bizonyítva, hogy ilyen megoldás nem létezik.
Ezek a jelenségek tipikusak: előfordul, hogy egész egyszerűnek látszó diofantikus egyenletek megoldása a legnagyobb nehézségbe ütközik, sőt, gyakori eset, hogy azt sem tudjuk eldönteni, hogy a kérdéses egyenletnek van-e egyáltalán megoldása. Ezek a tapasztalatok vezették David Hilbertet 1900-ban az alábbi kérdéshez: van-e olyan algoritmus (valamely mechanikus, automatikus eljárás), amely bármely megadott diofantikus egyenletről el tudja dönteni, hogy van-e megoldása? Ha Hilbert korában már léteztek volna számítógépek, nyilván úgy tette volna a kérdést, hogy van-e ilyen számítógépes program. A probléma megoldására 70 évig kellett várni. Ahhoz, hogy a megoldást megérthessük, be kell vezetnünk három fogalmat.
Azt mondjuk, hogy természetes számoknak egy végtelen sorozata rekurzív, ha van olyan algoritmus (azaz számítógépes program), amely bármely számról el tudja dönteni, hogy tagja-e a sorozatnak vagy sem. Például a 2-hatványok sorozata rekurzív, mert bármely n pozitív egészről el tudjuk dönteni, hogy 2-hatvány-e vagy sem: addig osztjuk 2-vel, amíg páratlan számot kapunk. Ha ez a szám 1, akkor n 2-hatvány; egyébként pedig nem. A prímszámok sorozata is rekurzív, hiszen bármely számról el tudjuk dönteni, hogy prím-e: csak azt kell megvizsgálni, hogy osztható-e valamely nála kisebb, de 1-nél nagyobb számmal. (Azzal most nem foglalkozunk, hogy ennek eldöntése mennyi ideig tart; a lényeg az, hogy az algoritmus véges sok lépésben elvégezhető legyen.)
Egy sorozat akkor és csak akkor rekurzív, ha van olyan számítógépes program, amely a sorozat tagjait növekvő sorrendben kinyomtatja. Ha ugyanis a sorozat rekurzív, akkor írhatunk egy olyan programot, amely egymás után megvizsgálja a természetes számokat és eldönti, hogy tagjai-e a sorozatnak, és ha egy n számról úgy találja, hogy igen, akkor n-et kinyomtatja. Megfordítva, ha van egy nyomtatóprogram, amely a sorozat tagjait növekvő sorrendben kinyomtatja, akkor a következő algoritmust készíthetjük annak eldöntésére, hogy egy n szám tagja-e a sorozatnak. Indítsuk el a nyomtatóprogramot, és várjunk addig, amíg egy n-nél nagyobb szám megjelenik. Ha az eddig kinyomtatott számok között n szerepel, akkor tagja a sorozatnak, egyébként pedig nem (hiszen később már nem kerülhet sorra).
Más a helyzet, ha van ugyan olyan program, amely a sorozat elemeit kinyomtatja, de nem feltétlenül növekvő sorrendben. (Az ilyen sorozatokat rekurzíve felsorolható sorozatoknak nevezzük.) Egy ilyen sorozat esetében, ha egy n szám megjelenik a kinyomtatott számok között, akkor tagja a sorozatnak. Ha viszont n nem tagja a sorozatnak, akkor ezt esetleg soha nem tudjuk meg, hiszen soha nem lehetünk biztosak abban, hogy n nem lesz-e később kinyomtatva. Tehát egy rekurzíve felsorolható sorozat nem feltétlenül rekurzív. A matematikai logika egyik nevezetes felfedezése, hogy rekurzíve felsorolható, de nem rekurzív sorozatok valóban léteznek, sőt, konkrétan meg is adhatók. (Ezt úgy kell érteni, hogy konkrétan megadható olyan program, amely kinyomtatja a sorozat elemeit. A sorozatot magát nem tudjuk megadni abban az értelemben, hogy a tagjait felsoroljuk növekvő sorrendben, hiszen akkor a sorozat rekurzív volna.)
A harmadik fogalom, amelyre szükségünk lesz, a diofantikus sorozat fogalma. Egy diofantikus egyenlet általános alakja (az egyenlet jobb oldalának bal oldalra vitele után) P(x1,x2,...,xk)=0, ahol P(x1,x2,...,xk) egész együtthatós polinom; azaz olyan kifejezés, amely az x1, ..., xk változókból és egész számokból képződik az összeadás, kivonás és szorzás műveleteinek felhasználásával. Egy sorozatot akkor nevezünk diofantikusnak, ha létezik egy egész együtthatós P(x1,...,xk,xk+1) polinom a következő tulajdonsággal: egy y természetes szám akkor és csak akkor tagja a sorozatnak, ha a P(x1,...,xk,y)=0 diofantikus egyenletnek van megoldása a természetes számok körében, azaz ha vannak x1,...,xk természetes számok úgy, hogy P(x1,...,xk,y)=0. Ekkor azt mondjuk, hogy a sorozatot a P(x1,...,xk,xk+1) polinom generálja. A négyzetszámok sorozata például diofantikus, mert egy y szám akkor és csak akkor négyzetszám, ha az x2-y=0 (egyváltozós) egyenlet megoldható a természetes számok körében. Tehát a négyzetszámok sorozatát az x12-x2 polinom generálja.
Nem nehéz belátni, hogy minden diofantikus sorozat rekurzíve felsorolható. Tegyük fel ugyanis, hogy a sorozatot a P(x1,...,xk,xk+1) polinom generálja. A rövidség kedvéért nevezzük vektornak a természetes számokből álló k+1-hosszúságú számsorozatokat. Ekkor az összes vektort felsorolhatjuk egyetlen végtelen sorozatban. Ezt úgy tehetjük meg, hogy elsőként felírjuk az (0,...,0) vektort, majd azokat, amelyekben x1+...+xk+1=1 (ezekből k+1 van), majd azok jönnek, amelyekben x1+...+xk+1=2, és így tovább. Minden egyes (x1,...,xk+1) vektorra számítsuk ki a P(x1,...,xk,xk+1) értéket. Ha ez nulla, akkor nyomtassuk ki xk+1-et. Ha nem nulla, akkor ugorjunk át a következő vektorra. Nyilvánvaló, hogy ilyen módon éppen azokat az y számokat nyomtattuk ki, amelyekre a P(x1,...,xk,y)=0 diofantikus egyenlet megoldható, és ezzel megmutattuk, hogy a kérdéses sorozat rekurzíve felsorolható.
Mármost Hilbert problémájának megoldásában a kulcslépés annak bizonyítása volt, hogy minden rekurzíve felsorolható sorozat szükségképpen diofantikus. A három fogalom logikai kapcsolata tehát a következő:
 
rekurzív    rekurzíve felsorolható    diofantikus.
 
Ebből pedig már következik, hogy nincs olyan algoritmus, amely bármely megadott diofantikus egyenletről el tudná dönteni, hogy van-e megoldása. Vegyünk ugyanis egy olyan sorozatot, amely rekurzíve felsorolható, de nem rekurzív. Mivel ez a sorozat szükségképpen diofantikus, létezik egy P(x1,...,xk,xk+1) polinom, amely generálja. Ha létezne olyan algoritmus, amely bármely diofantikus egyenletről el tudja dönteni, hogy van-e megoldása, akkor minden y-ról eldönthetnénk, hogy tagja-e a sorozatnak vagy sem, hiszen a P(x1,...,xk,y)=0 diofantikus egyenletet az állítólagos algoritmussal megvizsgálva megállapíthatnánk, hogy megoldható-e vagy sem. Ez azonban lehetetlen, mert akkor a sorozatunk rekurzív lenne, holott olyan sorozatból indultunk ki, ami nem az.
A Hilbert-problémának ez a negatív megoldása nem jelenti azt, mintha találtunk volna egy olyan diofantikus egyenletet, amelyről sohasem dönthetjük el, hogy van-e gyöke vagy sem. Elvileg elképzelhető, hogy előbb-utóbb mindegyik diofantikus egyenletről kideríthetjük, hogy megoldható-e. Ebben az esetben azonban a módszernek egyenletről egyenletre változnia kell; általános, minden egyenletre egyaránt alkalmazható algoritmus nincs.

Most térjünk vissza a prímszámokhoz. Mivel a prímszámok sorozata rekurzív, ezért rekurzíve felsorolható, tehát diofantikus. Így létezik egy P(x1,...,xk,xk+1) polinom, amely a prímszámok sorozatát generálja. Képezzük a
Q(x1,...,xk,xk+1)=xk+1(1-2P2(x1,...,xk,xk+1))
polinomot. Ha Q-ban az x1, ..., xk, xk+1 változók helyére természetes számokat helyettesítünk, akkor két eset lehetséges.
(i) P(x1,...,xk,xk+1)=0. Ekkor xk+1 prím (mert P a prímeket generálja), és Q(x1,...,xk,xk+1)=xk+1.
(ii) P(x1,...,xk,xk+1)0. Ekkor 1-2P2(x1,...,xk,xk+1)1-2<0 és így
Q(x1,...,xk,xk+1)0.

Azt kaptuk tehát, hogy Q-ba természetes számokat helyettesítve vagy prímet vagy nem-pozitív számot kapunk. Másrészt így minden prímet megkapunk, mert ha p prím, akkor P(x1,...,xk,p)=0 alkalmas x1, ..., xk-ra, tehát Q(x1,...,xk,p)=p. A fentieket összefoglalva megállapíthatjuk, hogy a
max(Q(x1,...,xk,xk+1),2)(9)
kifejezés a változók nemnegatív egész értékeire mindig prímet ad, és minden prímet megad. Ilyen tulajdonságú Q polinomok explicite is megadhatók; sajnos mindegyikük komplikált. Van közöttük 10-változós, ennek a foka azonban nagyobb 1045-nél. Van 5-ödfokú ilyen polinom is; ez azonban 42 változót tartalmaz. A jelenleg ismert legegyszerűbb egy 26-változós, 25-ödfokú polinom, amely kinyomtatva 9 sort foglal el a [3] könyv 115-116. oldalán.
A bonyolultságtól eltekintve (9) majdnem ideális prímképletnek tekinthető; csak a többváltozós jellege zavaró egy kicsit. Felmerül a kérdés, nem lehetne-e hasonló, de egyváltozós képletet nyerni. Esetleg lemondhatnánk arról, hogy a képlet minden prímet előállítson, megelégednénk végtelen sok prím előállításával is. Egy egyszerű ötlettel (9) azonnal egyváltozóssá tehető: írjunk az xi változók helyébe egy-egy fi(n) függvényt. Az így kapott
max(Q(f1(n),...,fk+1(n)),2)(10)
képlet egyváltozós, és ha az fi(n) érték nemnegatív egész minden i=1, ..., k+1-re és n=0, 1, 2, ...-re, akkor (10) minden n-re prímet fog előállítani.
Látszólag készen vagyunk. Azonban a dolog mégsem ilyen egyszerű: ha pl. f1, ..., fk+1 gyanánt egész együtthatós polinomokat választunk, akkor a (10) képlet csak véges sok különböző értéket fog előállítani. Ugyanis ebben az esetben Q(f1(n),...,fk+1(n))=q(n) is egész együtthatós polinom lesz. Ha q konstans, akkor max(q(n),2) is konstans. Ha q nem konstans és a főgyütthatója negatív, akkor minden elég nagy n-re q(n)<0, tehát max(q(n),2)=2. Ha viszont q nem konstans és a főgyütthatója pozitív, akkor minden elég nagy n-re q(n)>2, tehát max(q(n),2)=q(n). Ez azt jelentené, hogy q(n) minden elég nagy n-re prímszám, amiről már beláttuk, hogy lehetetlen (egy nem konstans egész együtthatós polinom az n végtelen sok értékére összetett számot ad). Ez az eset tehát nem fordulhat elő!
Ez a jelenség első pillantásra hihetetlennek tűnik: a Q(x1,...,xk,xk+1) polinomnak végtelen sok pozitív értéke van (hiszen minden prímet felvesz), de akárhogy helyettesítünk egész együtthatós polinomokat a változók helyébe, a kapott Q(f1(n),...,fk+1(n))=q(n) polinom vagy konstans, vagy pedig negatív minden elég nagy n-re. Ez a különös jelenség azonban már egész egyszerű polinomok körében is fellép. Meg lehet mutatni, hogy a Q(x,y)=(x2+1)(1-2(x2-2y2-1)2) polinom is rendelkezik ezzel a tulajdonsággal.
Ha el akarjuk érni, hogy a (10) képlet végtelen sok prímet szolgáltasson, a legegyszerűbb az f1,...,fk+1 függvényeket úgy megválasztani, hogy minden (a1,...,ak+1) vektor előálljon (f1(n),...,fk+1(n)) alakban. Ekkor (10) minden prímet elő fog állítani. Ha egy (a1,...,ak+1) vektorhoz létezik egy n természetes szám, melyre f1(n)=a1,...,fk+1(n)=ak+1, akkor azt fogjuk mondani, hogy az f1,...,fk+1 függvények kódolják az (a1,...,ak+1) vektort. Olyan függvényeket keresünk tehát, amelyek minden, nemnegatív egészekből álló vektort kódolnak. Mint láttuk, ezt polinomokkal nem érhetjük el, ezért fel kell használnunk más függvényeket is. Ekkor azonban egy újabb technikai nehézség lép fel. Ha szeretnénk minél egyszerűbb képleteket használni, akkor az fi függvények nemcsak a pozitív egészekből, hanem a tetszőleges egészekből álló vektorokat is kódolni fogják. A Q polinom a negatív egészekben felvehet pozitív összetett számot is, és akkor (10) értéke nem lesz minden n-re prím. Ezen a következő módszerrel segíthetünk. Legyen m=4(k+1), és tekintsük a
Q1(y1,...,ym)=Q(y12+y22+y32+y42,y52+y62+y72+y82....,ym-32+ym-22+ym-12+ym2)
polinomot. Ezt tehát úgy kapjuk Q-ból, hogy mindegyik xi változó helyére négy új változó négyzetösszegét írjuk. Most felhasználjuk azt a nevezetes tételt, amely szerint minden természetes szám előáll négy négyzetszám összegeként (lásd [1], 237. oldal). Nyilvánvaló, hogy Q1-ben a változók helyére tetszőleges egészeket helyettesítve ugyanazokat az értékeket kapjuk, mint amikor Q-ban a változók helyére tetszőleges természetes számokat helyettesítünk. Így a max(Q1(y1,...,ym),2) képlet prímszámot szolgáltat valahányszor y1,...,ym egészek, továbbá minden prímszámot megkapunk már akkor is, ha az yi-k helyére természetes számokat helyettesítünk.
Olyan függvényeket fogunk gyártani, amelyek minden m-hosszúságú, természetes számokból álló vektort kódolnak. Ezeket az yi változók helyére írva egyváltozós prímképletet kapunk. A konstrukciót csak m=2-re és m=3-ra adjuk meg, de világos lesz, hogy minden m-re elvégezhető.
Lássuk be először, hogy az ([n],n-[n]2) függvénypár minden olyan (b1,b2) számpárt kódol, amelyre b1b20. Legyen ugyanis n=b12+b2. Ekkor
b12n<b12+2b1+1
(hiszen b2b1), tehát b1n<b1+1. Így [n]=b1 és
n-[n]2=(b12+b2)-b12=b2.

Ha most a1, a2 tetszőleges természetes számok, akkor a1+a2a2, tehát van olyan n amelyre [n]=a1+a2 és n-[n]2=a2. Ekkor [n]-(n-[n]2)=a1 és n-[n]2=a2, tehát az ([n]-n+[n]2,n-[n]2) függvénypár minden természetes számokból álló számpárt kódol.
Most tekintsük az m=3 esetet. Belátjuk először, hogy a
g1(n)=[n4],g2(n)=[n]-g1(n)2,g3(n)=n-(g1(n)2+g2(n))2
függvények minden olyan (b1,b2,b3) vektort kódolnak, melyekre b1b2b30. Valóban, legyen n=(b12+b2)2+b3. Ekkor (b12+b2)2n<(b12+b2)2+2(b12+b2)+1 (hiszen b3b2), tehát b12+b2n<b12+b2+1 és b12n<b12+2b1+1 (hiszen b2b1). Így [n]=b12+b2, [n4]=b1, amiből g1(n)=b1, g2(n)=b2, és g3(n)=b3.
Ha most a1, a2, a3 tetszőleges természetes számok, akkor a1+a2+a3a2+a3a3, tehát van olyan n, amelyre g1(n)=a1+a2+a3, g2(n)=a2+a3 és g3(n)=a3. Ebből következik, hogy a g1-g2, g2-g3 és g3 függvények minden természetes számokból álló számhármast kódolnak.
Ezt a konstrukciót minden m-re elvégezhetjük. Ha az így kapott függvényeket Q1-be helyettesítjük, akkor végül is a következő tételt kapjuk.
Létezik olyan f(n) kifejezés, amely az n, [n], [n4], ..., [n2r] függvények egész együtthatós polinomja (azaz a fenti függvényekból és egész számokból kapható az összeadás, kivonás és szorzás műveleteinek segítségével), és amelyre a max(f(n),2) (n=0, 1, ...) számok halmaza pontosan a prímszámok halmazával egyenlő.
Ilyen alakban nem csak a prímszámok állíthatók elő. Ha ismét áttekintjük a tételhez vezető gondolatmenetet, láthatjuk, hogy bármely rekurzíve felsorolható sorozatnak van ilyen előállítása. Mindazonáltal a prímszámok előállításával kapcsolatban felmerül néhány érdekes kérdés.
1. A prímszámokat előállító képletekben mennyi az r minimális értéke? (A fenti gondolatmenet r=39-et ad, hiszen k-ra az ismert legkisebb érték 9, és r=m-1=4(k+1)-1.) Lehet-e pl. olyan prímképletet megadni, amely csak az n és [n] függvényeket használja?
2. Megadható-e olyan, fenti alakú f függvény, amelyre f(n)=pn minden n-re?
 
 
Irodalom
 
 

*[1] Erdős Pál és Surányi János: Válogatott fejezetek a számelméletből. Polygon, Szeged, 1996.
*[2] G. H. Hardy and E. M. Wright: An Introduction to the Theory of Numbers. Oxford University Press, Oxford, 1975.
*[3] P. Ribenboim: The Little Book of Big Primes. Springer, 1991.
*[4] D. Shanks: Solved and Unsolved Problems in Number Theory. Chelsea, New York, 1985.
Laczkovich Miklós