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