Résolution d'une équation diophantienne

Condition d'existence de solutions

Si d ne divise pas le second membre c, l'équation est impossible, n'a pas de solutions. Nous avons donc une condition nécessaire d'existence des solutions : \textrm {pgcd} (a,b) divise c. Nous supposerons dorénavant cette condition satisfaite.

Simplification de l'équation

ax + by = c, \textrm {pgcd} (a,b) = d et d divise c.

On pose a = da', b = db', c = dc' et l'on sait que \textrm {pgcd} (a',b') = 1.

On reporte dans l'équation, da'x + db'y = dc', on simplifie l'équation et on obtient une nouvelle équation, qui a les mêmes solutions que la précédente,

\begin {array}{cccc}ax + by&=&c&(1)\\a'x+b'y&=&c'&(2)\end {array}

(on se ramène donc au cas \textrm {pgcd} (a,b) = 1).

Détermination d'une solution

On détermine une solution (x_0, y_0) de l'équation a'x + b'y = 1 en utilisant l'algorithme d'Euclide, comme on a vu précédemment.

On a un couple x = x_0 c', y = y_0 c', solution des équations (1) et (2).

Détermination de toutes les solutions

de l'équation de a'x + b'y = c'.

\begin {array}{cccc}&a'x+b'y&=&c'\\&a'x_0 + b'y_0&=&c'\\\textrm {et par soustraction :} &a'(x - x_0) + b'(y - y_0)&=&0\\&a'(x - x_0)&= &b'(y_0 - y)\end {array}

Comme b' divise le premier membre et est premier avec a', d'après le théorème de Gauss, il divise x - x_0 : il existe un entier k tel que x - x_0 = kb' ; on reporte dans la dernière équation et on obtient y - y_0 = - ka'.

Récapitulation

Les solutions de l'équation initiale, quand elle admet des solutions, (c'est-à-dire quand \textrm {pgcd} (a,b) divise c), sont données par :

x = x_0 c' + kb'

y = y_0 c' - ka'