Sei sulla pagina 1di 10

3.

Classi resto modulo un intero

In questo paragrafo studieremo la struttura algebrica dell’insieme quoziente Z  , dove ≡n è


≡n
la relazione di congruenza modulo n, introdotta nella Def. 4 del Cap. 1.3. Ma prima di far ciò
è opportuno ricordare alcune definizioni ed alcuni risultati certamente noti allo studente: la divi-
sione euclidea in Z , il massimo comun divisore di due (o più) interi ed il teorema fondamentale
dell’Aritmetica. [Una trattazione più completa di tali concetti può essere trovata ad esempio in
www.mat.uniroma1.it/people/campanella, Appunti di Algebra 1, Cap. 2, paragrafi.1,2,3].

La divisione euclidea in Z altro non è che l’usuale divisione tra numeri interi, che tutti abbiamo
imparato ad eseguire già nella scuola primaria. Che sia sempre possibile eseguire tale divisione è
oggetto del seguente risultato (che non dimostreremo), la cui dimostrazione poggia sul Principio del
minimo [che afferma: ogni sottoinsieme non vuoto di N è dotato di minimo (cioè del più piccolo
elemento), rispetto alla relazione di diseguaglianza ≤].

Teorema 1. Siano a, b ∈ Z , b = 0. Esiste un’unica coppia (q, r) ∈ Z ×Z


Z tale che
a = bq + r, 0 ≤ r < |b|.
Gli interi q, r sono detti rispettivamente quoziente ed resto della divisione euclidea di a per b, mentre
a, b ne sono rispettivamente dividendo e divisore.

Nel Cap. 1.3 abbiamo definito la relazione di divisibilità in Z , che ora ricordiamo: ∀ a, b ∈ Z :

a  b ⇐⇒ b = at, ∃ t ∈ Z .
Si può poi subito verificare che

a  b ⇐⇒ aZ
Z ⊇ bZ
Z
[dove ovviamente aZ Z := {a t, ∀ t ∈ Z } è l’insieme dei multipli interi di a e bZ
Z := {b t, ∀ t ∈ Z } è
l’insieme dei multipli interi di b]. Verifichiamo tale equivalenza:

(=⇒) a  b =⇒ b = at, ∃ t ∈ Z =⇒ b ∈ aZ Z =⇒ bZ Z ⊆ aZZ.

(⇐=) bZZ ⊆ aZZ =⇒ b = b·1 ∈ aZ Z =⇒ b = at, ∃ t ∈ Z =⇒ a  b.]
Rimarchiamo il fatto (forse utile nella pratica) che il termine ”divide” tra interi corrisponde al termine
”contiene” tra gli insiemi dei multipli di tali interi.


Osservazione 1. Come osservato in Cap. 1.3, la relazione  su Z è una relazione di pre-ordine
(cioè rilessiva e transitiva) non totale. Valgono inoltre i seguenti semplici fatti (la cui verifica è
lasciata per esercizio):
(1) ogni a ∈ Z ammette come divisori ±a, ±1 detti divisori banali di a [”banali”, in quanto ci
sono sempre]. Gli altri (eventuali) divisori di a sono detti divisori propri di a.
Ad esempio 6 ha (oltre ai quattro divisori banali) anche quattro divisori propri: ±2, ±3; invece
ad esempio 5 (cosı̀ come ogni numero primo) ammette soltanto i quattro divisori banali.
   
(2) per ogni a ∈ Z : a  0 e 1  a. Inoltre: 0  a ⇐⇒ a = 0, mentre: a  1 ⇐⇒ a = ±1.
  
(3) a  b ⇐⇒ ac  bc, ∀ c ∈ Z ⇐⇒ ac  bc, ∃ c ∈ Z , c = 0.
  
(4) a  b e a  c ⇐⇒ a  bx + cy, ∀ x, y ∈ Z .
 
(5) a  b e b  a =⇒ b = ±a.

Ogni studente pensa di conoscere la definizione di massimo comun divisore di due numeri interi.
Ma probabilmente ne conosce non la definizione, bensı̀ una regola per calcolarlo. Ad esempio, asse-
gnati gli interi 36, 60, il massimo comun divisore è 12. Perché ? Si può pensare che basta scrivere le
fattorizzazioni dei due numeri come prodotto di primi:
36 = 2 · 3 , 60 = 2 · 3 · 5
2 2 2
38 G. CAMPANELLA APPUNTI DI ALGEBRA PER INFORMATICA

e poi affermare che il massimo comun divisore è dato dal prodotto dei primi comuni alle due fattoriz-
zazioni [cioè 2, 3], presi con il minimo esponente che compare nelle due fattorizzazioni.
È vero che il massimo comun divisore si calcola in questo modo, ma per accettare questa regola
come definizione bisogna non solo saper fattorizzare un intero (... e questo è un gran bel problema !)
ma aver anche dimostrato che ogni intero = 0, ±1 ammette una (ed una sola) fattorizzazione come
prodotto di numeri primi [tale fatto è vero ed è noto come Teorema fondamentale dell’Aritmetica].
La definizione di massimo comun divisore che conviene dare è perciò un’altra.

Definizione 1. Siano a, b ∈ Z , non entrambi nulli. Si chiama massimo comun divisore [abbreviato
M CD] di a, b ogni intero d ≥ 1 verificante le due condizioni:
 
(i) d  a e d  b;
  
(ii) per ogni intero d ≥ 1 tale che d  a e d  b, risulta che d  d.
Il M CD di a, b viene denotato con M CD(a, b). Se M CD(a, b) = 1, a e b sono detti coprimi (o
relativamente primi).

Si noti che la (i) afferma che d è un comune


 divisore di a, b; la (ii) afferma che d è il più grande
tra i divisori comuni di a, b [infatti, se d  d, certo d ≤ d (essendo d, d entrambi positivi)].
A questa definizione va fatto seguire un teorema di esistenza e unicità del M CD, la cui di-
mostrazione sfrutta il Principio del minimo ed utilizza la divisione euclidea.

Teorema 2. (Esistenza ed unicità del M CD). Se a, b ∈ Z sono non entrambi nulli, M CD(a, b)
esiste ed è unico.

Dim. (Esistenza). Utilizzeremo il Principio del minimo, che, come già ricordato, afferma che ogni
sottoinsieme non vuoto di N possiede un elemento minimo. In N definiamo il seguente sottoinsieme
S = {n ∈ N : n > 0 e n = a x + b y, ∃ x, y ∈ Z }.
Essendo tale insieme non vuoto (come facilmente si verifica), è dotato di minimo. Indichiamo con
d tale minimo. Poiché d ∈ S, per opportuni s, t ∈ Z , sia d = a s + b t. Utilizzando la divisione
euclidea tra numeri interi, verificheremo che d è un M CD di a, b.
Dividiamo a per d. Otteniamo a = d q + r, con 0 ≤ r < d. Allora
r = a − d q = a − (a s + b t)q = a(1 − sq) + b(−t q).
Se fosse r > 0, allora r ∈ S, ma ciò contraddirebbe la minimalità di d in S. Dunque r = 0, cioè
a = d q. Pertanto d è un divisore di a. In modo del tutto analogo si verifica che d è anche un
divisore di b.
Sia ora d un altro divisore positivo di a e b. Dobbiamo verificare che d è un divisore di d. Sia
a = d u e b = d v, per opportuni u, v ∈ Z . Allora
d = a s + b t = d u s + d v t = d (u s + v t).
Si conclude quindi che d è un divisore di d.

(Unicità). Siano d, d˜ due M CD di a, b. Da d˜ = M CD(a, b) segue che d  d;
˜ da d = M CD(a, b)
  
˜   ˜ ˜  ˜
segue che d d. Pertanto d d e d d. Dall’Osserv. 1(5) segue che d = ±d. Ma d, ˜ d sono entrambi
˜
positivi e quindi d = d.

Dalla defnizione di M CD segue subito che M CD(a, b) = M CD(b, a) e che M CD(±a, ±b) =
M CD(a, b); inoltre M CD(a, 0) = |a|, ∀ a ∈ Z · .
Dalla dimostrazione dell’esistenza del M CD segue che, se d = M CD(a, b), d si può scrivere come
una combinazione a coefficienti interi di a e b. Tale uguaglianza viene chiamata identità di Bézout.
Precisiamo il tutto nel seguente corollario.

Corollario 1. (Identità di Bézout). Siano a, b ∈ Z non entrambi nulli. Se d = M CD(a, b),


esistono x0, y0 ∈ Z tali che
CAP. 2.3 CLASSI RESTO MODULO UN INTERO 39

d = ax0 + by0 [identità di Bézout per a, b].

Ad esempio, essendo 12 = M CD(36, 60), si ha:


12 = 36 · 2 + 60 · (−1).
Come siamo venuti a capo di tale identità ? Prima di verificare che non si è proceduto a caso,
diciamo che l’identità ottenuta non è unica. Ad esempio si ha anche: 12 = 36 · (−58) + 60 · 35. Anzi,
ci sono infinite identità di Bézout per due qualsiasi interi. Infatti, ∀ c ∈ Z :
d = ax0 + by0 = ax0 + by0 ± abc = a(x0 + bc) + b(y0 − ac).

Per calcolare il M CD di due interi e calcolare un’identità di Bézout si ricorre ad un celeberrimo


algoritmo: l’algoritmo euclideo delle divisioni successive. In che cosa consiste ? Ci serve una
premessa.

Lemma 1. Siano a, b, ∈ Z , con b = 0. Sia a = bq + r, con 0 ≤ r < |b|. Risulta:


M CD(a, b) = M CD(b, r).
 
Dim. Siano d := M CD(a, b) e d1 := M CD(b, r). Basta dimostrare che: d  d1 e d1  d.
Infatti:
     
- se d  a e d  b, allora d  a − bq = r. Dunque d  b e d  r. Pertanto d  d1.
     
- se d1  b e d1  r, allora d1  bq + r = a. Dunque d1  a e d1  b. Pertanto d1  d.

Assumiamo che sia a > b ≥ 0 [se cosı̀ non fosse avremmo o casi banali o casi facilmente riconducibili
a questo]. L’algoritmo euclideo delle divisioni successive consiste in una successione finita di divisioni
euclidee (a partire dalla divisione di a per b), in modo che il divisore ed il resto (se non nullo) diventino
rispettivamente dividendo e divisore della divisione successiva. Il procedimento si interrompe non
appena si ottiene resto nullo. Dunque l’algoritmo è articolato nei seguenti passi:
(11 ) a = bq1 + r1, 0 ≤ r1 < b. Se r1 > 0, si procede con il passo successivo.
0

(22 ) b = r1 q2 + r2, 0 ≤ r2 < r1. Se r2 > 0, si procede con il passo successivo.


0

(33 ) r1 = r2 q3 + r3, 0 ≤ r3 < r2. Se r3 > 0, si procede con il passo successivo.


0

.
.
.
Poiché b > r1 > r2 > r3 > .... , ∃ n ∈ N tale che rn > 0 e rn+1 = 0. Ciò significa che gli ultimi due
passi dell’algoritmo sono
n0 ) rn−2 = rn−1 qn + rn, 0 < rn < rn−1 .
(n
n + 1 0 ) rn−1 = rn qn+1 + 0.
(n
Dal Lemma 1 segue:
M CD(a, b) = M CD(b, r1) = M CD(r1, r2) = M CD(r2, r3) = .... = M CD(rn−1, rn) = M CD(rn, 0) = rn.
Dunque rn = M CD(a, b). Il M CD è quindi l’ultimo resto non nullo dell’algoritmo.

Per ottenere un’identità di Bézout si procede in questo modo. Si isolano gli n resti ottenuti nelle
divisioni successive. Per ricordarsi di non eseguire semplificazioni numeriche, si conviene di scrivere
tra parentesi quadre gli interi a, b ed i resti rk . Si ottengono pertanto le seguenti uguaglianze:
(11 ) [r1] = [a] − q1[b].
0

(22 ) [r2] = [b] − q2[r1].


0

(33 ) [r3] = [r1] − q3[r2].


0

.
.
.
40 G. CAMPANELLA APPUNTI DI ALGEBRA PER INFORMATICA

n0 ) [rn] = [rn−2 ] − qn[rn−1].


(n

Si osserva subito che, ∀ k = 1, 2, ... n, [rk ] è combinazione di [rk−1 ] e [rk−2 ] (convenendo in


particolare di porre r0 = b, r−1 = a). A partire da k = 2 (se r2 = 0), con successive sostituzioni
si può quindi esprimere ogni [rk ] come combinazione lineare di [a] e [b], con coefficienti che sono
funzioni di q1, ... , qk.
In conclusione, si otterrà [rn ] in funzione di [a], [b]. Eliminando le parentesi quadre, si ottiene,
come richiesto, un’identità di Bézout relativa ad a, b (con a ≥ b > 0).

Esempio. Calcolare il M CD e un’identità di Bézout per a = −123, b = −39.


Si ha: 123 > 39 > 0. Risulta:
123 = 39·3 + 6 [6] = [123] − [39]·3
39 = 6·6 + 3 [3] = [39] − [6]·6
6 = 3·2 + 0.
Dunque M CD(123, 39) = 3 e
[3] = [39] − ([123] − [39]·3)·6 = [39] − 6[123] + 18[39] = −6[123] + 19[39].
Da ciò segue 3 = −6·123 + 19·39 ed, essendo a = −123, b = −39, si ottiene l’identità di Bézout
3 = 6·a − 19·b.

Per concludere le premesse al paragrafo occorre enunciare il Teorema fondamentale dell’Aritmetica,


a cui premettiamo la definizione di numero primo.

Definizione 2. Sia p ∈ Z , p ≥ 2. p è detto numero primo se p ha soltanto i quattro divisori


banali ±1, ±p (cioè p non ha divisori propri).

Il Teorema fondamentale dell’Aritmetica viene dimostrato solitamente per induzione (su n ≥ 2)


per gli interi positivi. Poi , come conseguenza, si può dimostrare la versione sugli interi ed infine la
nota formula che ci permette di calcolare il M CD di due interi a partire dalla loro fattorizzazione.
Ci limiteremo ad enunciare i tre risultati.

Teorema 3. (Teorema Fondamentale dell’Aritmetica (in N )).


(1) Ogni naturale n ≥ 2 è prodotto di un numero finito di numeri primi.
(2) Se per ogni n ≥ 2 poniamo:

s≥1

h h
n = p1 1 p2 2 ... pshs , con p1, ... , ps primi distinti


h1, ... , hs ≥ 1,
tale scrittura è unica a meno dell’ordine dei fattori.

Corollario 2. (Teorema Fondamentale dell’Aritmetica (in Z )). Sia a ∈ Z , a = 0, a = ±1. L


 ’intero
a si scrive in modo unico (a meno dell’ordine dei fattori) nella forma
h h
a = ±p1 1 p2 2 ... pshs ,
dove: s ≥ 1, p1, ... , ps sono numeri primi distinti, h1, ... , hs ≥ 1, e vale il segno + se a > 0, vale
il segno − se a < 0.

Corollario 3. Siano a, b ∈ Z , a, b = 0, ±1. Se


h h k k
a = ±p1 1 p2 2 ... pshs , b = ±p1 1 p2 2 ... psks
con p1, ... , ps numeri primi e hi , ki ≥ 0, allora
d d
M CD(a, b) = p1 1 p2 2 ... psds , con di := min{hi , ki } ( ∀ i = 1, ... , s).
CAP. 2.3 CLASSI RESTO MODULO UN INTERO 41

Nota. Si osservi che, avendo assunto hi , ki ≥ 0, è stato possibile esprimere a, b come prodotto degli
2 2 0 2 1 1
stessi primi [ad esempio, posto a = 36, b = 60, allora a = 2 3 5 , b = 2 3 5 ].

Ora veniamo all’oggetto di questo paragrafo. Ricordiamo la definizione di relazione di congruenza,


già data nella Def. 4 del Cap. 1.3: Sia n un intero ≥ 2. Si chiama relazione di congruenza modulo
n la seguente relazione su Z : presi comunque a, b ∈ Z ,

a ≡ b (mod n) ⇐⇒ n  b − a.

Sappiamo che si tratta di una relazione di equivalenza su Z . Osserviamo ora il seguente fatto.

Proposizizione 1. Sia n ≥ 2 e siano a, b ∈ Z . Risulta:


a ≡ b (mod n) ⇐⇒ a, b, divisi per n, hanno lo stesso resto.

Dim. (⇐=) Se a = n q1 + r e b = n q2 + r, allora b − a = n(q2 − q1). Dunque n  b − a, cioè
a ≡ b (mod n).
(=⇒) Sia a ≡ b (mod n) e quindi b − a = n t, ∃ t ∈ Z . Dividiamo a e b per n. Si ha:
a = n q1 + r1, b = n q2 + r2, con 0 ≤ r1 < n, 0 ≤ r2 < n.
Si tratta di verificare che r1 = r2. Risulta:
n t = b − a = n(q2 − q1) + (r2 − r1).


Ne segue che n r2 −r1. Dalle limitazioni sui resti segue che −n < r2 −r1 < n. Allora necessariamente
r2 − r1 = 0.

Vogliamo ora esaminare le classi di equivalenza modulo ≡n. Denoteremo con [a]n o più semplice-
mente con a [ove non sia necessario evidenziare n] la classe di equivalenza di a ∈ Z modulo ≡n.
Per definizione,
a = [a]n = {x ∈ Z | a ≡n x}.
Poiché a ≡n x ⇐⇒ x = a + t n, ∃ t ∈ Z , allora
a = [a]n = {x ∈ Z | x = a + t n, ∃ t ∈ Z } = {a + t n, ∀ t ∈ Z }.
Pertanto denoteremo tale insieme anche nella forma a + nZ Z (dove nZ Z = {nt , ∀ t ∈ Z }).
Quante sono le classi di equivalenza modulo ≡n ? Eseguiamo la divisione euclidea di a per n e sia
a = n q + r, con 0 ≤ r < n. Poiché anche la divisione di r per n ha resto r [in quanto r = n 0 + r],
allora a ≡n r, cioè a = r. Se poi
r ≡n r1 con 0 ≤ r < n, 0 ≤ r1 < n, allora r = r1
[infatti, dalle due disuguaglianze segue che −n < r1 − r < n; se quindi r1 − r = n t, allora t = 0, cioè
r = r1]. Pertanto di classi di equivalenza distinte ne esistono esattamente n, tante quanti i possibili
resti della divisione euclidea di un intero per n. Tali classi di equivalenza vengono chiamate classi
resto modulo n.

Ad esempio, se n = 2, le classi resto modulo 2 sono due, cioè


Z = {0, ±2, ±4, ...} e 1 = 1 + 2Z
0 = 0 + 2Z Z = {±1, ±3, ±5, ...}
0 è l’insieme degli interi pari, mentre 1 è l’insieme degli interi dispari. Ovviamente 0 può essere
rappresentata da un qualsiasi intero pari (ad esempio 0 = 12), mentre 1 può essere rappresentata
da un qualsiasi intero dispari (ad esempio 1 = −1).

Se invece n = 3, abbiamo tre classi resto modulo 3, cioè


Z = {3k, ∀ k ∈ Z }, 1 = 1 + 3Z
0 = 3Z Z = {1 + 3k, ∀ k ∈ Z }, Z = {2 + 3k, ∀ k ∈ Z }.
2 = 2 + 3Z

L’insieme quoziente Z  di Z modulo la relazione ≡n viene indicato più semplicemente con Z n


≡n
ed è chiamato insieme delle classi resto modulo n. L’insieme Z n ha cardinalità n ed formato dalle
classi resto
42 G. CAMPANELLA APPUNTI DI ALGEBRA PER INFORMATICA

0, 1, 2, ... , n − 1.

Vogliamo ora assegnare a Z n una struttura algebrica. Per far questo bisogna definire un’operazione
di ”somma di classi resto” ed una di ”prodotto di classi resto”.
Come definiamo ad esempio a + b ? Sarebbe naturale dire che a + b = a + b, ma per poterlo fare
occorre verificare che cambiando il rappresentante delle due classi resto, il risultato è lo stesso. Si
tratta cioè di verificare che, se a = a1 e b = b1, allora a + b = a1 + b1. Si dice che in tal caso la
relazione di congruenza è compatibile con l’addizione di Z .

Proposizione 2. La relazione ≡n è compatibile con le operazioni di somma e prodotto in Z .


Z n, +, ·) è un anello commutativo unitario.
(Z

Dim. Siano a ≡n a1 e b ≡n b1. Bisogna verificare che:


a + b ≡n a1 + b1 e a·b ≡n a1·b1
Se infatti a − a1 = nt, b − b1 = ns, allora a + b − (a1 − b1) = n(t + s) e dunque a + b ≡n a1 + b1.
Inoltre:
a·b − a1·b1 = a·b − a·b1 + a·b1 − a1·b1 = a(b − b1) + (a − a1)b1 = ans + ntb1 = n(as + tb1).
Dunque a·b ≡n a1·b1.
Sono quindi ben definite in Z n le due operazioni:
a + b = a + b, a·b = a·b, ∀ a, b ∈ Z n.
Z
Verifichiamo che (Z n, +) è un gruppo commutativo. Si ha:
- (a + b) + c = a + (b + c), ∀ a, b, c ∈ Z n;
- a + 0 = a = 0 + a, ∀ a ∈ Z n;
- a + −a = 0 = −a + a, ∀ a ∈ Z n;
- a + b = b + a, ∀ a, b ∈ Z n.
[Le verifiche sono lasciate per esercizio]. Valgono inoltre le seguenti proprietà [anch’esse lasciate per
esercizio]:
- (a·b)·c = a·(b·c), ∀ a, b, c ∈ Z n;
- a·(b + c) = a·b + a·c, (a + b)·c = a·c + b·c, ∀ a, b, c ∈ Z n;
- a·b = b·a,∀ a, b ∈ Z n.
- a·1 = a = 1·a, ∀ a ∈ Z n.
Z n, +, ·) è un anello commutativo unitario.
Si conclude che (Z

In generale Z n non è integro. Ad esempio, in Z 4, 2·2 = 0 e in Z 6, 2·3 = 0. In generale in


Z n non vale la legge di cancellazione. Ad esempio, in Z 4 risulta: 2·2 = 2·0, ma 2 non può essere
cancellato, perché 2 = 0. Altro esempio, in Z 12 : 3·4 = 3·8, ma 4 = 8.

Per approfondire la struttura algebrica di Z n ci resta da studiare il gruppo degli elementi invertibili
di Z n e verificare che Z n è un campo ⇐⇒ n è un numero primo. Useremo qui l’identità di Bézout
illustrata nel Coroll. 1.

Proposizione 3. Z n, +, ·) è un campo ⇐⇒ n è un numero primo.


(Z

Dim. (=⇒) Se per assurdo n non fosse primo, esisterebbero a, b ∈ Z tali che n = a b, con
1 < a < n, 1 < b < n. Passando in Z n si avrebbe:
0 = n = ab = ab
e dunque Z n sarebbe un anello non integro, mentre è un campo (e quindi è integro).
(⇐=) Sia n primo e sia a ∈ Z tale che 1 ≤ a < n. Ovviamente a, n sono coprimi, cioè
M CD(a, n) = 1, e quindi, calcolando un’identità di Bézout, 1 = a r + n s, per opportuni r, s ∈ Z .
Passando in Z n, si ottiene:
CAP. 2.3 CLASSI RESTO MODULO UN INTERO 43

1 = a r + n s = a r + n s = a r + 0 = a r.
Abbiamo cosı̀ ottenuto che a è invertibile in Z n, con inverso r. Ogni elemento non nullo di Z n è
quindi invertibile e pertanto Z n è un campo.

Dal risultato precedente ricaviamo che gli anelli Z n o sono campi o sono anelli non integri. Ci
chiediamo, in quest’ultimo caso, quali siano i loro elementi invertibili.

Proposizione 4. a ∈ U(Z
Z n) ⇐⇒ a, n sono interi coprimi.

Dim. (=⇒) Se a ∈ U(Z


Z n), esiste b ∈ Z n tale che a b = 1. Ne segue che 1 − a b = 0. Allora,
passando in Z :
1 − a b ≡n 0, cioè 1 − a b = n t, ∃ t ∈ Z .
Poiché 1 = a b + n t, considerato l’insieme S (della dimostrazione del Teor. 2) relativo agli interi
a, n, risulta che 1 ∈ S e dunque (essendo 1 necessariamente il minimo di S) il M CD tra n ed a
è 1, cioè a, n sono interi coprimi.
(⇐=) Se a, n sono coprimi, 1 = a r + n s, per opportuni r, s ∈ Z . Dunque, ripetendo un
ragionamento già fatto, r è inverso di a. Pertanto a ∈ U(Z
Z n).

Ad esempio:
U(Z
Z 6) = {1, 5}, U(Z
Z 9 ) = {1, 2, 4, 5, 7, 8}, U(Z
Z 12 ) = {1, 5, 7, 11}, ecc.
e, per quanto abbiamo osservato nel primo paragrafo, tali insiemi sono gruppi rispetto al prodotto.
La cardinalità di U(Z
Z n) è data del numero degli interi positivi coprimi con n e minori di n. Esiste
una funzione aritmetica importante, la funzione ϕ di Eulero, che esprime tale numero.

Definizione 3. Si chiama funzione di Eulero la funzione ϕ : N · → N · tale che


 
ϕ(n) = k ∈ Z : 1 ≤ k ≤ n e k, n sono coprimi .

Vale il seguente risultato, che fornisce una formula diretta per il calcolo di ϕ, in funzione della
fattorizzazione di un intero come prodotto di fattori primi.

r
Proposizione 5. Se n = p1 1 ... psrs , con p1, ... , ps primi, risulta:
r r −1

ϕ(n) = p1 1 − p1 1 · ... · psrs − psrs −1 .

Non dimostreremo tale proposizione [rinviamo a www.mat.uniroma1.it/people/campanella,


Appunti di Algebra 1, Cap. 2.6, pag. 91]. Vogliamo soltanto osservare che la dimostrazione consegue
subito dai due seguenti risultati:
(A) Se r, s sono naturali coprimi, ϕ(rs) = ϕ(r)·ϕ(s).
(B) Se p è primo, ϕ(p ) = p − p ( ∀ r ≥ 1).
r r r−1

Ad esempio,
ϕ(144) = ϕ(12 ) = ϕ(2 3 ) = ϕ(2 ) ϕ(3 ) = (2 − 2 )(3 − 3) = 48.
2 4 2 4 2 4 3 2

Ci poniamo ora il problema di risolvere equazioni di primo grado a coefficienti in Z n, cioè equazioni
del tipo
(∗) a X = b, con a, b ∈ Z n, a = 0.
L’equazione (∗) è detta risolubile su Z n se ∃ x ∈ Z n tale che a x = b. Accanto all’equazione (∗)
consideriamo la cosiddetta equazione ”congruenziale”
(∗∗) a X ≡ b (mod n)
44 G. CAMPANELLA APPUNTI DI ALGEBRA PER INFORMATICA

Si osserva subito che (∗) è risolubile su Z n se e solo se (∗∗) è risolubile su Z [cioè ∃ x ∈ Z tale
che a x ≡ b (mod n)]. Infatti x è soluzione di (∗) ⇐⇒ x è soluzione di (∗∗).
Si noti che, se (∗∗) è risolubile e x ne è una soluzione, ogni x + nc ( ∀ c ∈ Z ) è ancora soluzione
di (∗∗) Ma tali soluzioni corrispondono ad un’unica soluzione di (∗) [infatti x = x + nc]. Invece le
soluzioni di (∗∗) comprese tra 0 e n − 1 corrispondono biunivocamente a quelle di (∗).

Osserviamo subito che se a ∈ U(Z Z n) [cioè se M CD(a, n) = 1] l’equazione (∗) ha un’unica


−1
soluzione, che è a b. Se invece a ∈ U(Z
Z n) la situazione è più complicata. Cerchiamo di chiarirla
con due esempi.

(A) Risolvere l’equazione


15 X = 10 in Z 21 .
Si tratta di risolvere l’equazione congruenziale
15 X ≡ 10 (mod 21).
Assumiamo che x ∈ Z sia una soluzione di tale equazione. Allora 15 x ≡ 10 (mod 21) e quindi, per
un opportuno t ∈ Z , 15 x − 10 = 21 t. Ne segue che 3(5 x − 7 t) = 10 e dunque 3  10: assurdo.
Ne segue che l’equazione assegnata è priva di soluzioni, cioè è incompatibile.

(B) Risolvere l’equazione


15 X = 12 in Z 21 .
Si tratta di risolvere l’equazione congruenziale
15 X ≡ 12 (mod 21).
Si può osservare che tale equazione ha le stesse soluzioni dell’equazione congruenziale
5 X ≡ 4 (mod 7)
[ottenuta dividendo a, b, n per il loro M CD 3]. Se infatti 15 x ≡ 12 (mod 21), allora, per un
opportuno s ∈ Z , 15 x − 12 = 21 s e quindi, dividendo per 3, 5 x − 4 = 7 s, cioè 5 x ≡ 4 (mod 7).
Viceversa, se 5 y ≡ 4 (mod 7), allora 5 y − 4 = 7 t, per un opportuno t ∈ Z . Moltiplicando per 3,
15 y − 12 = 21 t e quindi 15 y ≡ 12 (mod 21).
Ora risolviamo l’equazione 5 X ≡ 4 (mod 7). Essendo 5, 7 coprimi e 5 · 3 = 1, allora, in Z 7 :
X = 3 · 4 = 12 = 5. L’equazione assegnata 15 X = 12 ammette quindi soluzione 5 (in Z 21 ). Ma,
com facilmente si verifica, ammette anche altre due soluzioni: 12 = 5 + 7 e 19 = 5 + 7 · 2.
Come si giustifica tutto questo ? Ci limitiamo ad enunciare il seguente risultato, che riassume
l’analisi della risolubilità di equazioni di primo grado a coefficienti in Z n.

Proposizione 6. Assegnata l’equazione a X = b su Z n, con a = 0, risulta, posto d = M CD(a, n):



l’equazione a X = b è risolubile ⇐⇒ d  b.
Se poi tale equazione è risolubile, ammette in Z n d soluzioni distinte, cosı̀ ottenute: se x0 è una
di tali soluzioni, le altre sono date da x0 + nd h, per h = 1, 2, ... , d − 1.

Concludiamo il paragrafo enunciando un importante risultato, noto come Teorema di Eulero-


Fermat, che ha estrema importanza in Crittografia.

Teorema 4. (Teorema di Eulero-Fermat). Sia n ≥ 2 e sia a un intero coprimo con n. Risulta:,


≡ 1 (mod n).
ϕ(n)
a
= 1, ∀ a ∈ U(Z
ϕ(n)
[Dunque a Z n)].

Un caso particolare di tale teorema, che è relativo al caso in cui il modulo n è primo, è il seguente
risultato noto col nome di Piccolo Teorema di Fermat.

Teorema 5. (Piccolo Teorema di Fermat). Siano a, p interi coprimi. Se p è primo, risulta:


CAP. 2.3 CLASSI RESTO MODULO UN INTERO 45

≡ 1 (mod p).
p−1
a
·
= 1, ∀ a ∈ Z p ].
p−1
[Dunque a

Il teorema di Eulero-Fermat è un utile strumento per risolvere problemi aritmetici, come negli
esempi che seguono.

82
Esempio 2. Usando il teorema di Eulero-Fermat, calcolare le ultime due cifre di n = 81 .
Si osservi che le ultime due cifre di un naturale n sono date dal resto della divisione euclidea di
n per 100. In altri termini, si ottengono risolvendo la congruenza n ≡ X (mod 100). Nel caso in
esame la congruenza da risolvere è 81 ≡ X (mod 100).
82

Poiché M CD(81, 100) = 1 e ϕ(100) = ϕ(4)·ϕ(25) = 2·20 = 40, in base al teorema di Eulero-
≡ 1 (mod 100). Dunque
40 ϕ(100)
Fermat, 81 = 81
40
2 2
·81 ≡ 1 ·81 = 6561 ≡ 61 (mod 100).
82 2 2
81 = 81
82
Le ultime due cifre di 81 sono 6, 1.

827
Esempio 3. Usando il teorema di Eulero-Fermat, calcolare le ultime tre cifre di n = 7 .
≡ X (mod 1000).
827
Si tratta di risolvere la congruenza 7
Si ha: M CD(7, 1000) = 1 e ϕ(1000) = ϕ(8)·ϕ(125) = 4·100 = 400. Allora, in base al teorema
≡ 1 (mod 1000). Allora 7 = (7 ) ·7 ≡ 1 ·7 (mod 1000). Si tratta
400 827 400 2 27 2 27
di Eulero-Fermat, 7
27
quindi di calcolare 7 (mod 1000).
≡7 ·7 ·7 ·7 (mod 1000). Si ha:
4 3 27 16 8 2
Essendo 27 = 2 + 2 + 2 + 1, allora 7
7 ≡ 7 (mod 1000),
7 ≡ 49 (mod 1000),
2

7 ≡ 401 (mod 1000),


4

7 ≡ (401) ≡ 801 (mod 1000),


8 2

7 ≡ (801) ≡ 601 (mod 1000).


16 2

·7 ≡ 601·801 ≡ 401 (mod 1000) e che 7 ·7 ≡ 49·7 ≡ 343 (mod 1000).


16 8 2
Si verifica subito che 7
Allora
·7 )(7 ·7) ≡ 401·343 ≡ 543 (mod 1000).
27 16 8 2
7 = (7
827
Si conclude che le ultime tre cifre di 7 sono 5, 4, 3.

ESERCIZI PROPOSTI

2.3.1. Sia p un intero ≥ 2. Dimostrare il seguente risultato:


  
p è primo ⇐⇒ se p divide un prodotto, divide almeno un fattore [cioè p  ab =⇒ p  a o p  b].
Per dimostrare tale risultato si proceda come segue:
(1) Usando l’identità di Bézout provare il seguente Lemma di Euclide:
 
siano a, b, c ∈ Z . Se a  bc e M CD(a, b) = 1, allora a  c.
  
(2) Usando il lemma di Euclide, dimostrare ( =⇒ ): se p  ab e p   a, allora p  b.
(3) Dimostrare (⇐=): p ha solo fattori banali [cioè: p = xy =⇒ x = ±1 o y = ±1].

2.3.2. Scrivere la tavola moltiplicativa di Z 6· . Verificare se {0, 2, 4} è un sottoanello di Z 6.

2.3.3. Scrivere la tavola additiva di Z 5 e la tavola moltiplicativa Z 5· .

2.3.4. Dimostrare il Piccolo Teorema di Fermat, procedendo come segue:


(1) Facendo uso del lemma di Euclide verificare che, se p è primo ed a è coprimo con p, gli interi
a, 2a, 3a, ... , (p − 1)a sono a due a due non congruenti mod p.
(2) Usando (1) ed il lemma di Euclide, dimostrare il Piccolo teorema di Fermat, cioè:
46 G. CAMPANELLA APPUNTI DI ALGEBRA PER INFORMATICA

≡ 1 (mod p).
p−1
se p è primo ed a è coprimo con p, a
81
2.3.5. Calcolare le ultime due cifre del numero naturale 82 .

2.3.6. Risolvere l’equazione 39 X = 12 in Z 603 .

2.3.7. Risolvere l’equazione congruenziale lineare 14 X ≡ 10 (mod 120).