Aritmetica modulare
Alessio Bernazzi
08/02/2017
Tutti sapete cos’è la divisione euclidea, o divisione col resto (o almeno spero). In aritmetica
modulare, quando si fanno operazioni con un numero, si prende in considerazione il resto della sua
divisione per un altro numero.
Nota importante: la divisione euclidea è definita sugli interi. Quando parliamo di qualche a, b o n
parliamo di numeri interi. Non buttate dentro i moduli quando ci sono variabili non intere!.
Si dice che a è congruo a b modulo n (a ≡ b(mod n)) se il resto della divisione di a e b per n è lo
stesso, e si legge ”a congruo a b modulo n”. Per esempio, 3 ≡ 7(mod 4) perché 3 e 7 danno entrambi
resto 3 se divisi per 4. Si può anche fare la stessa cosa con un numero negativo; 3 ≡ −1(mod 4). Per
brevità, invece di scrivere (mod n) scriveremo soltanto (n).
Notiamo che, in quanto n modulo n è uguale a 0, posso sottrarre o aggiungere quante volte voglio n a
entrambi i membri senza cambiare il risultato dell’espressione:
x ≡ 58(mod7)
x ≡ 58 − 7 · 8(mod7)
x ≡ 2(mod7)
Quindi in modulo n due numeri sono uguali se la loro differenza è un multiplo di n:
a − b ≡ k · n(n)
a − b ≡ 0(n)
a ≡ b(n)
Elenchiamo alcune proprietà dei moduli: Posso sommare n quanto voglio ed è come aggiungere 0;
a ≡ b(n) → a + kn ≡ b + jn(n)
Posso sommare/sottrarre o moltiplicare per cose uguali entrambi i membri (attenzione! NON posso
dividere tranquillamente! E quando si moltiplica si intende per qualcosa di diverso da 0, come nelle
equazioni normali)
a ≡ b(n) c ≡ d(n) → a + c ≡ b + d(b); a · c ≡ b · d(n)
La divisione posso farla liberamente se il numero per cui divido è coprimo con il modulo, ma per ora
ci interessa poco questo aspetto.
a ≡ b(n) → ax ≡ bx (n)
1
Dalla prima proprietà vediamo che i numeri, in modulo n, non sono proprio cosı̀ ”infiniti”; per dirlo
meglio, posso crearmi un’insieme di rappresentanti tali che ogni numero è uguale ad uno di questi.
Guardiamo la seguente tabella per modulo 5:
... ... ... ... ...
−5 −4 −3 −2 −1
0
1
2
3
4
5
6
7
8
9
10 11 12 13 14
15 16 17 18 19
... ... ... ... ...
Ogni colonna è fatta da numeri che differiscono di un multiplo di 5; dunque sono tutti uguali modulo
5. Quindi, presa una riga a caso, ogni altro numero intero sarà uguale ad un elemento della riga.
Di solito si prendono come rappresentanti i numeri da 0 ad n-1 (la seconda riga nella tabella) e si
lavora come se esistessero solo questi (per questo ho detto che non sono cosı̀ infiniti).
Ok, più o meno abbiamo visto cosa sono i moduli. Ma a cosa servono? Perché guardare il resto della
divisone di un numero per n (e poi, quale n?) invece che il numero stesso?
Nelle gare i moduli possono servire principalmente a 2 cose: eliminare possibili soluzioni di equazioni
(o simili) oppure trovare le cifre finali di un numero. Per esempio, se chiedo di trovare le ultime 2
cifre di 7766 , basta esaminare il numero modulo 100: il resto della divisione sono proprio le ultime due
cifre. Se invece voglio vedere quando è che un’equazione NON ha soluzione posso cercare un modulo
che me lo mostri, come quando il testo mette davanti cose astruse, apparentemente irrisolvibili tramite
metodi normali.
Le soluzioni di 4x2 + 6xy = 42y 2 + 13 sono praticamente ingestibili a prima vista, sia che si lavori su
x e y reali che sugli interi. Ma se sappiamo che i numeri sono interi possiamo guardare l’equazione
modulo 2 e diventa
0x + 0xy ≡ 0 + 13(2) 0 ≡ 1(2)
In modulo due l’equazione non ha soluzione e dunque non ce l’ha nemmeno negli interi.
L’ultima frase va capita bene e non bisogna abusarne: se non ci sono soluzioni modulo n, allora non
ci sono soluzioni negli interi; non è necessariamente vero il viceversa. Come mai?
Guardare modulo 2 significa guardare la parità; se x è pari è congruo a 0, se è dispari è congruo a 1. Il
motivo per cui l’equazione di prima non ha soluzione è che ho a sinistra due numeri pari e a destra un
pari e un dispari; questo ragionamento è formalizzato con il modulo e si generalizza con la divisibilità
per un n qualsiasi. Se l’equazione non ha soluzione modulo 15, significa che c’è un problema con la
divisibilità per 15 dei numeri, cosı̀ come ora c’è con la parità.
Perché non è vero il viceversa?
4x2 + 3 = 3y + 2y 2
In modulo 2:
1 ≡ y(2)
2
Abbiamo ottenuto che c’è soluzione modulo 2 se y è dispari. Allora vuol dire che qualsiasi dispari mi
dà soluzione? Se y=5, 4x2 = 50, che non ha soluzione sugli interi. Quel che mi dice il modulo è che,
se c’è soluzione, allora y è dispari. Se y non fosse dispari, la parità non tornerebbe; ma non qualsiasi
y dispari mi dà soluzione.
Esercizi:
Il problema accennato prima: trovare la cifra delle unità di 7766
21 - Qual è la cifra delle unità di 1717 ?
(A) 1, (B) 3, (C) 5, (D) 7, (E) 9.
(Archimede 2006)
Due numeri interi a, b sono tali che a + b + ab è divisibile per 10. Cosa si può dedurre sui numeri a e
b?
A)Che sono entrambi pari
B)Che sono entrambi dispari
C)Che sono uno pari e l’altro dispari
D)Che uno di essi è divisibile per 5
E)Che sono entrambi divisibili per 10
(Archimede 1995)
2 - Qual è la 2015a cifra dopo la virgola della scrittura decimale di 74 ?
(A) 7 (B) 1 (C) 5 (D) 2 (E) 4
(Archimede 2015)
9
7 - Qual è la cifra delle unità di 78 ?
(A) 5 (B) 3 (C) 9 (D) 7 (E) 1
(Archimede 2015)
9 - Luca scrive sulla lavagna tutti i numeri pari consecutivi da 2 a 2010 (compresi), poi Giovanna
cancella tutti quelli che sono multipli di 3. Quanti numeri rimangono?
(A) 670 (B) 710 (C) 840 (D) 905 (E) 1005
(Archimede 2010)
1999
2
1
Qual è la cifra delle unità del numero 22 + 22 + · · · + 22 ?
(Provinciale 1999)
Quali sono le ultime DUE cifre di 6666 ?
Per il problema della cifra finale, intanto notiamo che dipende soltanto dalla cifra delle unità; non
importa se il numero che sto considerando è 77 o 435237 o 7.
772 ≡ (70 + 7)2 ≡ 702 + 70 · 7 · 2 + 72 ≡ 72 (10)
Allora se vogliamo la cifra delle unità di 7766 possiamo studiare quella di 766 In questa tabella ho
3
messo la cifra delle unità delle potenze dei numeri da 0 a 9.
x x2 x3 x4 x5 x6 x7 x8
0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1
2 4 8 6 2 4 8 6
3 9 7 1 3 9 7 1
4 6 4 6 4 6 4 6
5 5 5 5 5 5 5 5
6 6 6 6 6 6 6 6
7 9 3 1 7 9 3 1
8 4 2 6 8 4 2 6
9 1 9 1 9 1 9 1
La cifra delle unità nelle potenze è periodica, e questo periodo è al massimo 4 (per chi ne sa già
qualcosa, 4 è φ(10), dunque l’ordine moltiplicativo di un numero modulo 10 divide 4). Il periodo di 7
è 4; dunque 74 ≡ 70 ≡ 1(10) e anche 74k ≡ 70 . Allora
766 ≡ 764 · 72 ≡ 70 · 72 ≡ 49 ≡ 9(10)
La cosa che è importante notare qua è che le potenze di un numero x in modulo n possono essere un
numero finito di valori diversi. Questo deriva dalla finitezza dei rappresentanti modulo n: se x1 ≡ x,
x2 ≡ y, x3 ≡ z, prima o poi arriverò ad un valore che ho già incontrato. Guardiamo 5 modulo 7:
51 ≡ 5(7);
52 = 25 ≡ 4(7);
53 = 52 · 5 ≡ 4 · 5 ≡ 6(7)
54 = 53 · 5 ≡ 6 · 5 ≡ 2(7) 55 = 54 · 5 ≡ 2 · 5 ≡ 3(7)
56 = 55 · 5 ≡ 3 · 5 ≡ 1(7) 57 = 56 · 5 ≡ 1 · 5 ≡ 5(7)
Come stavamo dicendo, anche le potenze di 5 hanno un periodo in modulo 7, e questo è 6 perché
57 ≡ 51 , 58 ≡ 52 , 59 ≡ 53 e cosı̀ via. L’unico numero che non viene preso di sicuro è 0, perché se
5k ≡ 0(7), anche 5k+1 ≡ 0(7) e tutti i successivi, distruggendo il ciclo.
Definiamo quindi ordine moltiplicativo di x modulo n il più piccolo d tale che xd ≡ 1(n); ordn (x) = d.
L’ordine moltiplicativo di un numero è al massimo n: se prendiamo x in modulo n e lo eleviamo alla
prima, poi alla seconda, poi alla terza e cosı̀ via, quando arriviamo a fare xn sicuramente troveremo un
valore che abbiamo già incontrato (perché ci sono n numeri nei rappresentanti e lo 0 non lo tocchiamo
mai, quindi n-1 elementi possibili).
Introduciamo quindi il Piccolo teorema di Fermat:
an ≡ a(p)
con p primo.
Nota: noi abbiamo solo dimostrato che l’ordine di un numero modulo p è minore o uguale di p-1; il
4
teorema invece ci dice che lo divide. Possiamo dimostrarlo o per induzione oppure dando per buono
che esiste un elemento di ordine p-1 (che è vero) e scrivendo tutti gli altri elementi come potenze di
quel numero.
Siamo tentati di dire che allora anche an−1 ≡ 1(n) (che sarebbe la forma in cui il teorema è enunciato
di solito); ma abbiamo già detto che non possiamo dividere per a impunemente. Infatti 07 ≡ 0(7) è
vera ma 06 ≡ 1(7) è falsa; la seconda forma funziona se e solo se a e p sono coprimi, cioè a è diverso
da 0 modulo p.
Come mai abbiamo bisogno di p primo? Se prendiamo 3 in modulo 15, 315 ≡ 12(15). Il piccolo
teorema di Fermat non funziona, ma perché? In modulo 15, le potenze seguono cicli diversi. Per
esempio, se prendiamo un x che non divide 5 (come 3) allora 3k diviso 15 non può dare come resto 5.
Dove abbiamo sbagliato? Perché il ragionamento di prima funziona finché prendiamo un modulo
primo? Se n non è primo (come 15) è ovvio che 3k non potrà mai essere congruo a 5 (basta guardare
3k = 15q + r, se r fosse divisibile per 5 potrei raccogliere 5 a destra e deriverebbe che 5 divide 3); le
potenze di x non necessariamente incontrano tutti i numeri tranne 0 (dunque non esiste un generatore
e non si può fare un ragionamento come quello che accennavo poco fa).
Cerchiamo di capire cosa possiamo dire allora sull’ordine di un numero in modulo n non primo;
dobbiamo prima introdurre la funzione di Eulero.
Funzione φ e teorema di Eulero
Sia n un numero intero e sia pα1 1 pα2 2 . . . pαr r la sua scomposizione in fattori primi. Allora il numero di
elementi minori di n coprimi con n è uguale a
φ(n) = (pα1 1 − pα1 1 −1 )(pα2 2 − p2α2 −1 ) . . . (pαr r − pαr r −1 )
Un esempio facile per capire come si usa la phi di Eulero: se voglio i numeri minori di 315 e coprimi
con esso, per prima cosa lo scompongo:
315 = 7 · 5 · 32
Il numero che cerco è φ(315), cioè (71 − 70 )(51 − 50 )(32 − 31 ). Quindi per calcolare la phi di un numero
lo scompongo in primi e tolgo ad ogni fattore sè stesso con l’esponente diminuito di 1.
Nota: la phi di un primo p è p − 1.
La dimostrazione (per chi è interessato) si fa calcolando prima la phi di pk e mostrando che phi è
moltiplicativa, cioè φ(ab) = φ(a)φ(b)
Da qua si può dimostrare il teorema di Eulero: Se a ed m sono coprimi, allora aφ(m) ≡ 1(m)
Se m è primo, φ(m) è proprio m − 1 e otteniamo il Piccolo teorema di Fermat.
Ometto la dimostrazione del teorema perché richiede l’utilizzo di diversi concetti di aritmetica non
affrontati qua.
Extra: Residui quadratici e teorema di Wilson
Alcuni numeri che negli interi non sono quadrati lo sono in modulo n. Ad esempio, 3 in modulo 11 è
52 = 25 ≡ 3. Come stabilire se un numero è un quadrato o no? Quanti sono i quadrati in modulo n?
5
Per un modulo p primo, la risposta è che i quadrati sono
p+1
2
e un numero n è un quadrato se e solo
p−1
2
= 1(p). Sapere quando un numero è un quadrato serve soprattutto a risolvere equazioni in
se n
cui compaiono termini elevati al secondo grado; basta provare i numeri che sappiamo essere quadrati
come soluzione e vedere se torna o meno.
Teorema di Wilson:
(p − 1)! ≡ −1(p) ↔ p primo;
Provate ad usarlo per risolvere questo problema:
Quanto vale il resto della divisone per 53 di p(0) + p(1) + · · · + p(2014) sapendo che p(t) = (50t +
1)(49t + 2) . . . (2t + 49)(t + 50)?
Un problema abbastanza difficile:
Su una lavagna sono stati scritti i numeri da 1 a 30. Luca vuole riuscire ad ottenere lo 0 sulla lavagna
procedendo nel seguente modo: prende due numeri a e b e sceglie una delle seguenti operazioni da
effettuare:
1) a+b
2) a-6b
3) 8a-13b
Successivamente cancella i due numeri dalla lavagna e aggiunge il numero ottenuto dall’operazione
effettuata; esiste un metodo per far vincere Luca? in che modo può riuscirci?
Suggerimento: se il risultato deve essere 0, allora deve anche essere 0 modulo n, ma la somma dei
numeri di partenza è 30·31
2 , che non è 0 in tanti moduli. Cercate allora di capire cosa fanno le operazioni
1), 2) e 3) in mod n, dopo aver scelto un n giusto, e vedere se è possibile o no arrivare a 0.
Risolvere l’equazione:
x2 + 5x + 2 ≡ 0(7)
Risolvere l’equazione:
x21 + 2x4 + 2x2 − 2x − 1 ≡ 0(125)
Risolvere l’equazione:
x21 + 3x ≡ 0(27)
6