MCD e algoritmo di Euclide
Ora sappiamo che esistono primi divisibili solo per 1 e per se stessi e interi scomponibili in fattori primi. Possiamo quindi studiare le relazioni che esistono fra i divisori di due numeri:
Definizione. Siano a e b due interi non entrambi nulli.
Chiameremo massimo comun divisore di a e b, e lo denoteremo con il simbolo MCD, il più grande intero positivo che divide sia a che b.
In simboli si ha:
"a,b Î Z, MCD(a,b)=d, dÎ Z Û
i) d|a e d|b,
ii) preso cÎZ, se c|a e c|b Þ c|d.
In particolare, presi a,b Î Z, se MCD(a,b)=1, allora a e b sono detti relativamente primi, cioè non esiste un intero che sia divisore di entrambi eccetto l’unità.
Possiamo osservare che se consideriamo due interi nulli, cioè se a=b=0, non esiste il MCD(a,b), poiché ogni numero intero divide entrambi, mentre se prendiamo due numeri tali che p sia primo e a un intero qualsiasi, si ha che:
- MCD(p,a) = p, se p|a,
- MCD(p,a) = 1 altrimenti.
La definizione di massimo comun denominatore può essere estesa anche a n numeri:
Definizione. Siano a1,…, an interi non tutti nulli.
Allora il MCD(a1,…, an) è il più grande intero positivo che divide ogni termine, in simboli:
presi a1,…, an Î Z, MCD(a1,…, an) = d Û
1) d|ai "i=1,…,n;
2) preso cÎZ, se c|ai "i=1,…,n, allora c|d.
Analogamente se MCD(a1,…, an) = 1, allora gli n termini si dicono relativamente primi, cioè l’unico fattore che divide tutti gli n interi è l’unità.
Il seguente lemma risulterà di fondamentale importanza per il proseguo della trattazione:
Lemma di divisione.
Siano a,b due interi con a ¹ 0.
Allora sono univocamente determinati due interi q,r tali che:
i) b = q×a +r,
ii) 0 £ r < |a|,
dove q è il quoziente della divisione e r è il resto della divisione fra a e b.
Come conseguenza di questo lemma, possiamo studiare un teorema fondamentale per la nostra trattazione che dice che il MCD di due interi a e b è una combinazione lineare di a e di b:
Teorema. Dati a,b Î Z non entrambi nulli, esistono due interi s,t ÎZ tali che
MCD(a,b) = sa + tb.
Osservazioni.
I coefficienti s e t della combinazione lineare non sono unici, infatti presi s’=s+b e t’=t-a si ha
s’a+t’b = (s+b)a+(t-a)b = sa+ba+tb-ab = sa+tb.
Inoltre si deduce che un numero divide sia a che b se e solo se divide anche MCD(a,b).
Ora indichiamo quattro corollari che sfruttano questo risultato:
Corollario 1) Due interi a e b sono primi fra loro se e solo se esistono due interi s,t tali che
sa+tb = 1.
>Corollario 2) Se un intero a divide un prodotto b×c e a è relativamente primo con b, allora a divide c.
In simboli:
se a|bc e MCD(a,b)=1, allora a|c.
>Corollario 3) Se un primo p divide un prodotto di n interi a1,…,an, allora p divide almeno un fattore ai , per i=1,…,n.
(Questo corollario ci permetterà di dimostrare l’unicità della scomposizione in fattori primi).
>Corollario 4) Se m|a e n|a e se MCD(m,n)=1, allora m×n = a.
>Ora abbiamo tutte le conoscenze necessarie per dimostrare che la scomposizione in fattori primi è unica. Esistono diversi procedimenti per ottenere questo risultato e qui riportiamo la soluzione che a nostro avviso è più trasparente:
Teorema. Ogni intero maggiore di 1 ha un’unica scomposizione in fattori primi. In simboli:
per ogni aÎZ, a>1, esistono e sono unici p1,…,pr primi e m1,…,mr naturali tali che
a= p1m1× p2m2×…× prmr, con p1<p2<…<pr.
Ora tutte queste nozioni sono propedeutiche per studiare l’algoritmo euclideo, un procedimento quasi “meccanico” che consiste in una serie di divisioni successive che consentono di calcolare il massimo comun divisore di due numeri a,b e gli interi s,t tali che
MCD(a,b) = d e d=sa+tb,
senza scomporre a e b in fattori primi.
Prendiamo a,b interi con a,b>0 e supponiamo 0<a<b.
Dividiamo b per a, avremo che:
b = q1×a+r1, con 0 £ r1<a.
Osserviamo che:
i) se r1=0, allora b = q1×a e abbiamo già che MCD(a,b)=a;
ii) altrimenti, preso un intero positivo d
1) se d divide sia a che b, allora dividerà anche r1 in quanto combinazione lineare di a e b;
2) viceversa, se d divide a e r1, dividerà anche b per la stessa proprietà sopra.
Quindi possiamo concludere che
MCD(a,b) = MCD(a,r1),
con il vantaggio che r1<a<b.
Ora ripetiamo lo stesso procedimento sostituendo al posto di a e b i nuovi valori a e r1 con r1<a:
a = q2×r1+r2, con 0 £ r2<r1
dove
i) se r2=0, si ha che r2|a, quindi MCD(a,b) = MCD(a,r1) = r2;
ii) altrimenti, si ripetono le stesse conclusioni giungendo a definire che MCD(a,b)=MCD(a,r1)=MCD(r1,r2).
Continuiamo a costruire queste successioni di resto sino ad arrivare all’i-esima iterazione dove
ri-1 = qi+1×ri+ri+1, con 0 £ ri+1<ri
e avremo che
i) se ri=0, allora MCD(a,b) = ri-1;
ii) altrimenti, continuiamo il procedimento.
Poiché gli ri sono interi non negativi e la successione di resti è decrescente, ad un certo punto ci dovremo fermare, cioè esisterà un rn diverso da zero tale che rn+1=0, allora il nostro MCD(a,b) sarà uguale all’ultimo resto diverso da zero della catena di divisioni.
Questo procedimento è vantaggioso perché non dobbiamo scomporre in fattori primi e si utilizzano divisioni sempre più facili.
Proviamo ora a ricostruire s,t procedendo a ritroso nell’algoritmo euclideo:
presi MCD(a,b) = rn e sa+tb = rn, possiamo scrivere
rn = rn-2 - qn×rn-1,
e andiamo a sostituire il valore di rn-1 che si ricava dall’uguaglianza rn-3 = qn-1×rn-2 + rn-1:
rn = rn-2 - qn× (rn-3 - qn-1×rn-2) = (1+qnqn-1) rn-2 - qn× rn-3.
Ora sostituiamo in questa equazione il valore di rn-2 che si ottiene da rn-4 = qn-2×rn-3 + rn-2 e avremo rn come espressione in rn-3 e rn-4, quindi andremo a sostituire rn-3 e continueremo questo procedimento fino ad ottenere rn come combinazione lineare dei soli a e b.