T E O R E M A N° 4 1 Esistono due algoritmi basati sul noto test di primalità: (p-1)! +1 p = k intero se p è primo, che, se correlato al nostro Teorema n° 1, danno rispettivamente tutti i numeri primi (tranne il 2 e il 3) di forma 6 n - 1 e 6 n + 1, fino a un dato N = 6n. DIMOSTRAZIONE Sostituendo al numero p da testare (cioè da stabilire se è numero primo o no) nel test di primalità di cui sopra, la sua forma p = 6n-1 oppure q = 6n+1, si ottengono le forme lineari (n cresce in modo lineare da 1 ad infinito): 1 (1) ((6n-1) -1)! +1 k = ----------------6n-1 (2) ((6n+1) -1)! +1 = 6n! + 1 k = --------------------------------6n+1 6n+1 = (6n-2)! +1 -------------6n-1 dove, se k risulta intero, nella (1) o nella (2), allora p = 6n-1 o q = 6n+1 è primo. Viceversa, se k è decimale, p oppure q sono composti e quindi verranno scartati dall’algoritmo al crescere di n. Tali algoritmi daranno infatti tutti i k interi per tutti i numeri primi (tranne il 2 e il 3, che non sono di forma 6n+ 1) e tutti i k decimali per tutti i numeri composti. Cosicché, applicando infatti i due algoritmi a tutti i numeri n successivi a partire da 1 e scartando tutti i numeri p e q di forma 6n+ 1 che danno un 2 k decimale, rimangono tutti i numeri primi tranne il 2 e il 3 ( poiché essi, e solo essi non sono di forma 6n + 1). Per essi comunque k = 1 intero con il solo test classico di Wilson, poiché: (2-1)! + 1 1!+1 ------------ = ----- = 2 2 (3-1)! +1 -----------3 1+1 ----2 2! +1 2+1 = ------- = -----3 3 = 2 ---- = 1 2 3 = -3 intero = 1 intero e infatti anche 2 e 3 sono numeri primi. Per altri valori di p e q di forma 6n+1 e primi avremo tutti gli altri valori interi di k, generati dagli algoritmi (1) e (2) ottenuti modificando il test di Wilson, in cui n genera numeri primi. Per esempio, per p = 7 = 6*1 +1 e quindi con n=1, 3 avremo: (6*1 +1-1 )! +1 6! +1 720 +1 ---------------- = ------- = ------6*1+1 7 7 721 = ---7 = 103 e 103 = q = 6*17 +1, tale che 7*103 = 721. Poiché 103 è intero, 7 è primo. I primi numeri composti ad essere scartati sono 25 = 5*5 e 35 = 5*7, poiché i loro k sono decimali. Programmando i due algoritmi (1) e (2) con apposito software in linguaggio MAPLE o simili, per esempio per n fino a 100, si otterranno tutti i numeri primi fino a 6n+1 = 6*100 -1 e 6*100+1 599 e 601, ovviamente con k intero, altrimenti sarebbero composti e quindi verranno scartati dalla lista finale. Per due numeri gemelli p e p+2 = q, ovviamente, 4 entrambi condividono lo stesso n ed entrambi generano k interi. Si avrebbero insomma due algoritmi simili a due Crivelli di Eratostene automatizzati, e cioè due specie di “macchine” matematiche per “produrre” automaticamente i numeri primi, tanto sognate dai matematici. E che si concentrano sui soli numeri (eccetto 2 e 3) di forma 6n+1, tra i quali si annidano tutti i numeri primi, assenti in altre forme, per es. 6n+2, 6n+3 ecc. Il Crivello di Eratostene, invece, si applicava a tutti i numeri, con maggiore lentezza nel procedimento. Algoritmi informatizzati e quindi automatizzati che, eliminando progressivamente tutti i numeri con k decimale e quindi composti, elencano tutti i numeri primi (stampandole su apposite liste separate 5 per quelli di forma 6n-1 e per quelli di forma 6n+1, poiché l’unificazione dei due algoritmi sarebbe difficoltosa). Il problema, già noto, è che essi sono sempre più lenti al crescere di n, poiché i numeri (6n+1)! crescono molto rapidamente e quindi i calcoli si fanno sempre più lunghi e quindi più lenti: per cui bisognerebbe attendere computer sempre più potenti e veloci, oppure usare altri test di primalità più veloci per programmare algoritmi anche più veloci di quelli da noi proposti per setacciare automaticamente tutti i numeri n naturali e selezionare solo tutti i numeri primi, di forma 6n+1. Un nostro test precedente, basato su un antico test cinese simile ( k = 2^n /n con resto di 2), mentre il nostro era (2^n-2)/2 = k intero se n è primo, si 6 imbatteva nei numeri di Carmicael, per i quali il test non funziona: tali numeri, fino a 10.000, sono: 341, 561, 645, 1105, 1387, 1729, 1905, 2047, 2465, 2701, 2821, 3277, 4033, 4369, 4371, 4681, 5461, 6601, 7957, 8321, 8481, 8911, trovati dal prof. Giuseppe Guarino con un software in linguaggio MAPLE (in seguito compilò la lista di tali numeri fino a 100.000 ). Una conseguenza del nostro Teorema n.1 è la spiegazione per cui i numeri di forma n!+1, e quindi 1*(2*3)*(4*5*6*…n)+1= 6*(4*5*6*…n) + 1 = 6n’+ 1 possono essere o no primi: perché sono anch’essi della forma 6 * n’+1, proprio come tutti i numeri primi, loro potenze e prodotti, senza fattori 2 e 3; e cosi pure per i primoriali n#, seguiti da +1, 7 e quindi n# +1 : 2 * 3 * 5 * 7 * 11 * n + 1, anche qui abbiamo (2*3) * (5*7*11*…n) = 6 *n’ + 1, la forma generale dei numeri primi, loro prodotti e potenze senza i fattori 2 e 3. Così anche per i numeri primi di Fermat e di Mersenne, riconducibili a tale forma generale; per esempio, i numeri di Fermati 2^p – 1 sono riconducibili alla forma 6n + 1 solo se p è dispari, e quindi spesso anche primo, poiché 2^p -1 con p pari è sempre multiplo di 3 e quindi non può mai essere primo; per es. 2^6 – 1 = 63 = 3*21, e cosi via per tutti i numeri p pari, con la sola eccezione di 2, poiché 2^2-1 = 4-1 = 3 primo. Per 2^5 -1, abbiamo 32 -1 = 31 = 6*5 +1, per 2^7-1 abbiamo invece 128 -1 = 6 * 21 = 126 +1 8 e così via. Lo stesso simile ragionamento vale anche per i numeri di Mersenne, di forma: 2^2^n +1, riconducibile alla forma 6n’ + 1, per es. 2^2^2 +1 = 2^4 +1 = 16+1=17 con 17 numero primo ( = 6*3-1) e secondo numero di Mersenne (il primo è 2^2^1 +1 = 2^2 +1 = 4+1 = 5 = 6*1 -1; 5 = numero primo e anche il primo numero di Mersenne. GRUPPO “ERATOSTENE” 9