Rappel. Théorème (Division-avec-reste) Soit m > 0 un nombre naturel non-zéro fixé. Pour chaque n ∈ Z il existe deux uniques nombres entiers q, r tels que simultanément : (i) n = qm + r (ii) 0 ≤ r < m. On dit : r est le reste et q le quotient de la division partielle de n par m. MAT1500 1 of 40 Rappel. Soient m, n ∈ Z. On écrit m|n s’il existe un q ∈ Z tel que mq = n. On dit dans ce cas que m est un diviseur de n, ou que n est un multiple de m. Si m 6= 0 et a, b ∈ Z on écrit a ≡m b si m|(a − b). MAT1500 2 of 40 Definition Un nombre naturel p > 1 est un nombre appelé premier si les seuls diviseurs positifs sont 1 et p. Un nombre naturel n > 1 est un nombre appelé composé si n n’est pas premier. Alors 1 et −2 ne sont pas considérés comme nombres premiers. MAT1500 3 of 40 Théorème Pour chaque nombre naturel n ≥ 2 il existe un entier s ≥ 1 et des nombres premiers p1 , p2 , . . . , ps tels que n = p1 p2 . . . ps On dit : "Une décomposition en facteurs premiers existe". Par exemple : 36 = 2 · 3 · 2 · 3 : ici s = 4, p1 = 2, p2 = 3, p3 = 2 et p4 = 3. Il y a aussi un aspect d’unicité que nous allons énoncer et montrer plus tard. Une preuve par induction généreuse ! MAT1500 4 of 40 Démonstration. Posons P(n) := "il existe un s ≥ 1 et des nombres premiers p1 , . . . , ps tels que n = p1 p2 · · · ps ". Début : P(2) est vraie, parce que 2 = p1 ou s = 1 et p1 = 2 est un nombre premier. MAT1500 5 of 40 (suite). Étape d’induction : Soit n ≥ 2 et pour chaque 2 ≤ a ≤ n on suppose P(a) vraie. Si n + 1 est premier, alors n + 1 = p1 avec s = 1 et p1 = n + 1 premier ; ce qui montre que P(n + 1) est aussi vraie. Si n + 1 n’est pas premier, alors il existe un diviseur d > 0 inégal à 1 ou n + 1. Donc il existe un q tel que n + 1 = dq. Nécessairement 2 ≤ d ≤ n et 2 ≤ q ≤ n. Par l’hypothèse généreuse on a P(d) et P(q) vraies. Donc d = p1 p2 . . . ps et q = p10 p20 . . . ps0 0 où s, s 0 > 0 et les pi et pi0 des nombres premiers. Alors n + 1 = dq = p1 p2 . . . ps p10 p20 . . . ps0 0 est un produit de s + s 0 nombres premiers. Donc P(n + 1) est aussi vraie. Par induction généreuse P(n) vraie pour chaque n ≥ 2. MAT1500 6 of 40 Definition Soient a et b deux entiers. Posons pgcd(a, b), le plus grand commun diviseur de a et b, pour le plus grand nombre naturel d qui divise a et b simultanément. On dit que a et b sont relativement premier si le pgcd(a, b) = 1. MAT1500 7 of 40 Par exemple : pgcd(10, −21) = 1 et donc 10 et −21 sont relativement premier, parce que Les diviseurs positifs de 10 sont 1, 2, 5, 10 ; Les diviseurs positifs de −21 sont 1, 3, 7, 21. Et 1 est le plus grand commun diviseur. MAT1500 8 of 40 Definition Et définissons (si a 6= 0 6= b) ppcm(a, b), le plus petit commun multiple de a et b, pour le plus petit nombre naturel m > 0 qui est un a-multiple et un b-multiple simultanément. Si a ≥ 1, alors pgcd(0, a) = a et pgcd(1, a) = 1. Exemple : pgcd(10, 16) = 2, ppcm(10, 16) = 80. Ici, pgcd(10, 16) ppcm(10, 6) = 10 · 6. Un accident ? MAT1500 9 of 40 Lemme Soit m > 0 et n deux entiers. Par division avec reste il existe des (uniques) entiers q et r tels que n = qm + r et 0 ≤ r < m. (i) Alors pgcd(n, m) = pgcd(m, r ). (ii) Si r = 0 alors pgcd(n, m) = m. (Preuve plus tard.) MAT1500 10 of 40 L’algorithme d’Euclide Le lemme suggère un façon de calculer le plus grand commun diviseur d = pgcd(n, m) par récurrence (m > 0). Soit n = qm + r et 0 ≤ r < m. Si r = 0 alors d = m et on est prêt avec le calcul. Sinon 0 < r < m et d = pgcd(m, r ). Soit m = q1 r + r1 et 0 ≤ r1 < r . Si r1 = 0, alors d = pgcd(m, r ) = r et on est prêt. Sinon 0 < r1 < r < m et d = pgcd(r , r1 ). Soit r = q2 r1 + r2 . Si r2 = 0, alors d = pgcd(r , r1 ) = r1 et on est prêt. Sinon 0 < r2 < r1 < r < m et d = pgcd(r1 , r2 ). Soit r1 = q3 r2 + r3 . Si r3 = 0, alors d = pgcd(r1 , r2 ) = r2 et on est prêt. Sinon, . . .. Les restes deviennent de plus en plus petit, et après moins que m étapes un reste, disons ri+1 , devient 0. Et alors le pgcd est d = ri . C’est l’algorithme d’Euclide. MAT1500 11 of 40 Calculons pgcd(1351, 1064) avec l’algorithme d’Euclide. On calcule la suite des restes 1351 = 1 · 1064 + 287 1064 = 3 · 287 + 203 287 = 1 · 203 + 84 203 = 2 · 84 + 35 84 = 2 · 35 + 14 35 = 2 · 14 + 7 14 = 2 · 7 + 0. Donc ici les restes sont : r = 287, r1 = 203, r2 = 84, r3 = 35, r4 = 14, r5 = 7 et r6 = 0. Ici : 7 = le dernier reste non-zero = pgcd(1351, 1064). MAT1500 12 of 40 Explication : 1351 = 1 · 1064 + 287 donc par le lemme pgcd(1351, 1064) = pgcd(1064, 287). MAT1500 13 of 40 Puis 1064 = 3 · 287 + 203 donc pgcd(1064, 287) = pgcd(287, 203). Etc. : pgcd(1351, 1064) = pgcd(1064, 287) = pgcd(287, 203) = pgcd(203, 84 = pgcd(84, 35) = pgcd(35, 14) = pgcd(14, 7) = = pgcd(7, 0) = 7 En effet : 7 = le dernier reste non-zero = pgcd. MAT1500 14 of 40 En fait notre lemme est un peu plus fort, avec d’autres conséquences. Lemme Soit m > 0 et n deux entiers. Par division avec reste il existe des uniques entiers q et r tels que n = qm + r et 0 ≤ r < m. (i) Alors pgcd(n, m) = pgcd(m, r ). Si r = 0 alors pgcd(n, m) = m. (ii) Mettons d := pgcd(n, m) = pgcd(m, r ). Supposons ils existent des entiers s, t tels que d = sm + tr . Alors d = tn + (s − tq)m. Ou (ii) en autres mots : si on peut écrire d comme une combinaison Z-linéaire de m et r , alors on peut aussi écrire d comme une combinaison Z-linéaire de n et m. MAT1500 15 of 40 La preuve est facile. Démonstration. (i) Soit d ≥ 1 un diviseur de m. Si d|n, aussi d|(n − qm) = r . Et si d|r , aussi d|(qm + r ) = n. Donc d est diviseur en commun de m et n si et seulement si d est diviseur en commun de m et r . En particulier, pgcd(m, n) = pgcd(m, r ). (ii) Par substitution d = sm + tr = sm + t(n − qm) = tn + (s − tq)m. MAT1500 16 of 40 Le lemme suggère pas seulement l’algorithme d’Euclide pour calculer le pgcd(n, m) mais aussi un algorithme pour trouver deux entiers s et t tels que sn + tm = pgcd(n, m). Il y a deux versions. MAT1500 17 of 40 Méthode par substitutions (i) On commence par la suite des restes : 287 = 1351 − 1 · 1064 203 = 1064 − 3 · 287 84 = 287 − 1 · 203 35 = 203 − 2 · 84 14 = 84 − 2 · 35 7 = 35 − 2 · 14 0 = 14 − 2 · 7. (ii) On commence en bas avec la combinaison Z-linéaire : 7 = 35 − 2 · 14 et substitue 14 = 84 − 2 · 35 et réécrit : 7 = 35 − 2 · (84 − 2 · 35) = −2 · 84 + 5 · 35. MAT1500 18 of 40 Puis on monte une ligne. On substitue 35 = 203 − 2 · 84 et rééecrit : 7 = −2 · 84 + 5 · 35 = −2 · 84 + 5 · (203 − 2 · 84) = 5 · 203 + (−12) · 84. Puis on monte une ligne. On substitue 84 = 287 − 1 · 203 et réécrit : 7 = 5·203+(−12)·84 = 5·203+(−12)·(287−1·203) = (−12)·287+17·203. On monte jusqu’en haut. MAT1500 19 of 40 Le résultat : 7 = 35 − 2 · 14 = 35 − 2 · (84 − 2 · 35) = = −2 · 84 + 5 · 35 = −2 · 84 + 5 · (203 − 2 · 84) = = 5 · 203 + (−12) · 84 = 5 · 203 + (−12) · (287 − 203) = = (−12) · 287 + 17 · 203 = (−12) · 287 + 17 · (1064 − 3 · 287) = = 17 · 1064 + (−63) · 287 = 17 · 1064 + (−63)(1351 − 1064) = = (−63) · 1351 + 80 · 1064. Pour être sûr qu’on n’a pas fait une erreur de calcul on vérifie la réponse. En effet (−63) · 1351 + 80 · 1064 = −85113 + 85120 = 7 MAT1500 20 of 40 À cause de tous les substitutions on risque facilement de faire une erreur de calcul. Il y a une autre méthode, qui est un peu plus propre avec moins de risque d’erreur de calcul. Cette méthode calcule le pgcd et la combinaison Z-linéaire simultanément. Moi, je prèfére cette méthode : MAT1500 21 of 40 Méthode de Bézout Commence avec deux combinaisons Z-linéaire triviales. Le début : 1 · 1351 + 0 · 1064 = 1351 0 · 1351 + 1 · 1064 = 1064 Le premier reste est 287 = 1351 − 1064. Donc aussi 287 = 1351 − 1064 = [1 · 1351 + 0 · 1064] − [0 · 1351 + 1 · 1064] = = (1 − 0) · 1351 + (0 − 1) · 1064. D’où une ligne de plus 1 · 1351 + 0 · 1064 = 1351 0 · 1351 + 1 · 1064 = 1064 1 · 1351 + (−1) · 1064 = 287 MAT1500 22 of 40 Le deuxième reste est 203 = 1064 − 3 · 287 donc aussi 203 = 1064 − 3 · 287 = [0 · 1351 + 1 · 1064] + (−3) · [1 · 1351 + (−1) · 1064] = (0 − 3) · 1351 + (1 + (−3)(−1)) · 1064 = (−3) · 1351 + (4) · 1064 Et une autre ligne s’est ajoutée : 1 · 1351 + 0 · 1064 = 1351 0 · 1351 + 1 · 1064 = 1064 1 · 1351 + (−1) · 1064 = 287 (−3) · 1351 + (4) · 1064 = 203 Et on répète. MAT1500 23 of 40 On a 1 · 1351 + 0 · 1064 = 1351 0 · 1351 + 1 · 1064 = 1064 1 · 1351 + (−1) · 1064 = 287 (−3) · 1351 + (4) · 1064 = 203 (4) · 1351 + (−5) · 1064 = 84 (−11) · 1351 + (14) · 1064 = 35 (26) · 1351 + (−33) · 1064 = 14 (−63) · 1351 + (80) · 1064 = 7 La dernière ligne donne nos deux réponses, le pgcd et la combinaison Z-linéaire. MAT1500 24 of 40 Je vois cet algorithme (appelé l’algorithme de Bézout) comme l’algorithme d’Euclide renforcé par de l’administration. La partie à la droite du = est la suite des restes, pour calculer le pgcd(n, m) avec l’algorithme d’Euclide. La partie à la gauche du = commence par deux combinaisons triviales Z-linéaire de n et m. Puis , ce qu’on fait à droit pour obtenir le prochain reste, on fait aussi à gauche pour maintenir l’administration. Cet algorithme de Bézout/Euclide donne une preuve constructive du théorème de Bézout : MAT1500 25 of 40 Théorème (Bézout) Soient n, m deux entiers avec d = pgcd(n, m). Alors il existe deux entiers s, t tel que sn + tm = d. Démonstration. Si m = 0, alors 1 · n + 0 · m = d, si n ≥ 0 et −1 · n + 0 · m = d, si n < 0. Et le résultat est vrai. Sans perte de généralité on peut supposer que n et m sont des nombres naturels et m > 0. Puis l’algorithme de Bézout fonctionne pour calculer tels s et t. On peut aussi utiliser l’induction pour montrer ce théorème. MAT1500 26 of 40 Une variation. Théorème Soient a, b, c trois entiers. Posons d = pgcd(a, b). Considérons l’équation ax + by = c. Il est possible de résoudre cette équation avec des entiers (c.-à-d. de trouver deux entiers x et y tel que l’équation est satisfaite) si et seulement si d|c. Et il y a un algorithme ! MAT1500 27 of 40 Démonstration. Supposons des entiers x , y existent tels que ax + by = c. On a d|a et d|b donc aussi d|(ax + by ) et nécessairement d|c. Par contre si d|c, il existe n ∈ Z tel que c = dn. Par le théorème de Bézout ils existent s, t tels que d = as + bt donc c = dn = a(sn) + b(tn). Et on voit que le pair x = sn et y = tn forme une solution de l’équation. MAT1500 28 of 40 Par exemple : L’équation 1351x + 1064y = 29 n’a pas de solution entière, car pgcd(1064, 1351) = 7 ne divise pas 29. L’équation 1351x + 1064y = 21 a une solution entière, car pgcd(1064, 1351) = 7 divise 21. Trouver une solution. MAT1500 29 of 40 Heureusement nous savons déjà obtenu : (−63) · 1351 + 80 · 1064 = 7, donc (−63 · 3) · 1351 + (80 · 3) · 1064 = 7 · 3 = 21, et 1351 · (−189) + 1064 · 240 = 21 Donc la couple x = −189 et y = 240 est une solution. Autres solutions ? MAT1500 30 of 40 On a 1351 = 7 · 193 et 1064 = 7 · 152, donc 152 · 1351 = 152 · 7 · 193 = 1064 · 193 Pour chaque entier h ∈ Z le couple x = −189 + h · 152 et y = 240 − h · 193 est aussi une solution : (−189+h·152)·1351+(240−h·193)·1064 = (−189)·1351+(240)·1064 = 2 Par exemple, h = 1 donne : x = −37 et y = 47, et en effet 1351 · (−37) + 1064 · 47 = −49987 + 50008 = 21. Cette méthode fonctionne généralement pour trouver autres solutions. MAT1500 31 of 40 Le théorème de Bézout a des corollaires utiles. Théorème (i) Soient a, b, c trois entiers tels que a|bc et pgcd(a, b) = 1. Alors a|c. (ii) Soit p un nombre premier tel que p|bc. Alors p|b ou p|c. Mais 6|(2 · 3) et 6 6 |2 et 6 6 |3 (6 n’est pas premier). Corollaire Si p est un nombre premier tel que p|(n1 n2 . . . ns ). Alors il existe un i tel que p|ni . MAT1500 32 of 40 Démonstration. (i) Hypothèse pgcd(a, b) = 1 : il existe entiers s, t tels que sa + tb = 1 par Bézout, et donc sac + tbc = c Hypothèse a|bc : il existe u tel que au = bc. Donc c = sac + tau = (sc + tu)a ou a|c (ii) Si le nombre premier p ne divise pas b alors pgcd(p, b) = 1. Donc l’hypothése de (i) est satisfaite et on peut conclure. MAT1500 33 of 40 Déjà montré : Théorème Pour chaque nombre naturel n > 1 il existe un entier s ≥ 1 et des nombres premiers p1 , p2 , . . . , ps tels que n = p1 p2 . . . ps , et p1 ≤ p2 ≤ . . . ≤ ps . On dit : "Une décomposition première existe". On a unicité aussi : Théorème Soit n > 1 un nombre naturel. Si n = p1 p2 . . . ps = q1 q2 . . . qt où p1 ≤ p2 ≤ . . . ≤ ps et q1 ≤ q2 ≤ . . . ≤ qt des premiers. Alors s = t et p1 = q1 , p2 = q2 , . . . , ps = qs . MAT1500 34 of 40 Démonstration. On a pi |(p1 p2 . . . ps ). Et si p est premier, la seule factorisation première : p = p. Le début. Pour n = 2 il n’y a qu’une seule factorisation (2 est premier.) Étape d’induction : Soit n ≥ 2 et supposons pour chaque 2 ≤ m ≤ n la factorisation première pour m est unique. Si n + 1 est premier, il y a une seule factorisation, comme déjà remarqué. MAT1500 35 of 40 (suite). Supposons n + 1 est composé et n + 1 = p1 p2 . . . ps = q1 q2 . . . qt sont deux factorisations ordonnées. Les pi et qj sont tous des nombres premiers qui divisent n + 1. Soit p ≥ 2 le plus petit nombre premier qui divise n + 1. Alors p|p1 p2 . . . ps implique p = pi pour un i. Par minimalité nécessairement p = p1 . Et de même façon p = q1 . Donc p1 = q1 . Posons m = p2 . . . ps = q2 . . . qt , alors 2 ≤ m ≤ n (car n + 1 est composé). Par l’hypothèse d’induction, m a une seule factorization. C’est à dire p2 = q2 , p3 = q3 . . . .. Donc aussi les deux factorisations de n + 1 coïncident. Par induction généreuse on conclut que l’unicité de la factorisation première est vraie. MAT1500 36 of 40 Soit n > 1 alors on peut aussi écrire uniquement n = p1a1 p2a2 . . . psas , où p1 < p2 < . . . < ps sont des nombres premiers et les ai des nombres naturels. r = p1e1 p2e2 . . . pses divise n si et seulement si e1 ≤ a1 , e2 ≤ a2 , . . . , es ≤ as . Dans ce cas, posons s = p1a1 −e1 p2a2 −e2 . . . psas −es , alors rs = n. Il y a une conséquence bien connue : MAT1500 37 of 40 En général, trouver une factorisation première est très laborieux. Mais si on a déjà factorisé n et m on peut facilement calculer pgcd(n, m). Théorème Supposons n = p1a1 p2a2 . . . psas , et m = p1b1 p2b2 . . . psbs , où p1 < p2 < . . . < ps , les ai ≥ 0 et les bi ≥ 0. Alors pgcd(n, m) = p1c1 p2c2 . . . pscs , et ppcm(n, m) = p1d1 p2d2 . . . psds , où ci est le minimum de {ai , bi } et di est le maximum de {ai , bi }. MAT1500 38 of 40 Corollaire Soit n et m deux nombres naturels positifs. Alors nm = pgcd(n, m) · ppcm(n, m) MAT1500 39 of 40 Par exemple : On a 1064 = 23 · 71 · 191 · 1930 , 1351 = 20 · 71 · 190 · 1931 , pgcd(1064, 1351) = 20 · 71 · 190 · 1930 = 7, ppcm(1064, 1351) = 23 · 71 · 191 · 1931 = 205352, 205352 · 7 = 1437464 = 1064 · 1351. MAT1500 40 of 40