Aller au contenu
Favoris

Calculateur d'équation diophantienne linéaire

Mis à jour :

Résout l'équation diophantienne linéaire ax + by = c dans les entiers. Saisissez les coefficients a, b et c pour savoir si des solutions existent, obtenir une solution particulière et la famille complète x = x₀ + (b/g)t, y = y₀ − (a/g)t.

Résoudre ax + by = c dans les entiers

Champs de saisie
a
b
c
Si activé, le résultat se met à jour automatiquement dès que vous modifiez une valeur.

Formule de l'équation diophantienne linéaire

Formule
\[ ax + by = c, \qquad a, b, c \in \mathbb{Z} \] \[ g = \gcd(a, b) \] \[ \text{Des solutions entières existent} \iff g \mid c \] \[ x = x_0 + \frac{b}{g}\,t, \qquad y = y_0 - \frac{a}{g}\,t, \qquad t \in \mathbb{Z} \]

Où :

  • \(a\), \(b\) — coefficients entiers de \(x\) et \(y\)
  • \(c\) — le second membre, un entier
  • \(g = \gcd(a, b)\) — le plus grand commun diviseur des coefficients
  • \((x_0, y_0)\) — une solution particulière, obtenue à partir de l'identité de Bézout \(g = s\,a + t\,b\) en multipliant par \(c/g\)
  • \(t\) — un paramètre entier arbitraire qui engendre toutes les solutions

L'équation admet des solutions entières si et seulement si \(\gcd(a,b)\) divise \(c\). Lorsque c'est le cas, elles sont en nombre infini : à partir d'une solution \((x_0, y_0)\), toute autre solution s'obtient en ajoutant \(b/g\) à \(x\) et en retranchant \(a/g\) à \(y\), le même nombre de fois \(t\).

Équation diophantienne linéaire – Exemple de calcul

Exemple : résoudre \(12x + 18y = 30\) dans les entiers (les valeurs par défaut du calculateur).

\[ \gcd(12, 18): \quad 18 = 1 \cdot 12 + 6, \quad 12 = 2 \cdot 6 + 0 \implies \gcd(12, 18) = 6 \]

\[ 6 \mid 30 \implies \text{des solutions existent} \]

\[ \text{Bézout : } 6 = (-1) \cdot 12 + 1 \cdot 18, \qquad \frac{c}{g} = \frac{30}{6} = 5 \]

\[ x_0 = -1 \cdot 5 = -5, \qquad y_0 = 1 \cdot 5 = 5 \]

\[ 12 \cdot (-5) + 18 \cdot 5 = -60 + 90 = 30 \;\checkmark \]

En ramenant \(x_0\) dans l'intervalle \(0 \le x < |b/g| = 3\), on obtient la solution particulière équivalente \((1, 1)\), puisque \(12 \cdot 1 + 18 \cdot 1 = 30\).

Résultat : toutes les solutions entières sont \(x = 1 + 3t\), \(y = 1 - 2t\) pour tout entier \(t\) ; par exemple \((1, 1)\), \((4, -1)\), \((-2, 3)\).

Comment utiliser le calculateur

  1. Saisissez le coefficient entier de \(x\) dans le champ Coefficient de x (a).
  2. Saisissez le coefficient entier de \(y\) dans le champ Coefficient de y (b).
  3. Saisissez le second membre dans le champ Second membre (c).
  4. Lisez les blocs de résultats : Des solutions entières existent-elles ? indique si \(\gcd(a,b)\) divise \(c\) ; Une solution (x₀, y₀) fournit une solution particulière vérifiée ; Solution entière générale donne la famille complète avec le paramètre \(t\) ; Étapes de résolution détaille l'algorithme d'Euclide, les coefficients de Bézout et le raisonnement.

Les trois valeurs saisies doivent être des entiers (positifs, négatifs ou nuls). Si vous saisissez une valeur non entière, le calculateur demandera un nombre entier, car les équations diophantiennes se résolvent par définition dans les entiers uniquement.

Qu'est-ce qu'une équation diophantienne linéaire ?

Une équation diophantienne est une équation dont on exige que les solutions soient des entiers. L'équation diophantienne linéaire \(ax + by = c\) en est la forme la plus simple : elle demande tous les couples d'entiers \((x, y)\) qui la vérifient exactement, sans fraction ni nombre décimal. De telles équations apparaissent naturellement dès que les quantités sont indivisibles : des pièces de monnaie de valeurs fixes, des boîtes d'articles, des personnes ou des carreaux.

Le fait central est la condition de résolubilité : \(ax + by\) est toujours un multiple de \(\gcd(a, b)\), donc \(c\) doit lui aussi être un multiple de \(\gcd(a, b)\). Par exemple, \(6x + 10y\) est toujours pair, donc \(6x + 10y = 7\) n'a aucune solution entière, quelles que soient vos recherches. Lorsque la condition est remplie, l'identité de Bézout garantit au moins une solution, que l'algorithme d'Euclide étendu trouve efficacement.

Interprétation du résultat : si des solutions existent, elles sont infiniment nombreuses et se répartissent le long d'une progression arithmétique. La solution générale \(x = x_0 + (b/g)t\), \(y = y_0 - (a/g)t\) les énumère toutes — chaque incrément du paramètre \(t\) augmente \(x\) de \(b/g\) et diminue \(y\) de \(a/g\), en laissant \(ax + by\) constant. Si vous avez besoin de solutions dans un intervalle précis (par exemple des solutions positives ou nulles), testez quelques valeurs de \(t\) et ne gardez que celles qui conviennent.

Hypothèses, limites et conseils

  • Entiers uniquement. Les coefficients doivent être des nombres entiers ; l'équation n'est résolue ni sur les rationnels ni sur les réels. Sur les réels, \(ax + by = c\) admet toujours des solutions dès que \(a\) ou \(b\) est non nul — c'est la restriction aux entiers qui rend le problème intéressant.
  • Limites de taille. Le calcul utilise l'arithmétique standard : gardez les coefficients dans la plage d'entiers sûre (environ jusqu'à 15 chiffres) pour éviter les problèmes de précision.
  • Les cas dégénérés sont pris en charge. Si \(a = b = 0\), l'équation est soit toujours vraie (\(c = 0\), tout couple convient), soit jamais vraie. Si un seul coefficient est nul, l'équation se ramène à une seule inconnue et le calculateur la résout directement.
  • Toute solution particulière convient. Le couple \((x_0, y_0)\) n'est pas unique — le calculateur le ramène à une forme compacte avec \(0 \le x_0 < |b/g|\), mais chaque choix engendre le même ensemble complet de solutions grâce au paramètre \(t\).
  • Vérifiez votre résultat. Vérifiez toujours par substitution : calculez \(a x_0 + b y_0\) et confirmez que le résultat est égal à \(c\). Le calculateur effectue cette vérification pour vous dans le résultat affiché.

Si votre problème fait intervenir deux équations linéaires à la fois plutôt qu'une seule, un système tel que \(ax + by = c\), \(dx + ey = f\) se traite par la méthode d'élimination plutôt que par la divisibilité du PGCD. Le raisonnement diophantien est aussi à la base de sujets comme la proportionnalité directe, où deux grandeurs à valeurs entières croissent dans une proportion fixe, et il constitue un outil classique des compétitions mathématiques et de la théorie des nombres.

Questions fréquentes

Comment résoudre une équation diophantienne linéaire à la main ?

Calculez d'abord \(g = \gcd(a, b)\) avec l'algorithme d'Euclide. Si \(g\) ne divise pas \(c\), il n'y a aucune solution entière. Sinon, appliquez l'algorithme d'Euclide étendu pour trouver les coefficients de Bézout tels que \(g = sa + tb\), multipliez par \(c/g\) pour obtenir \(x_0 = s \cdot c/g\) et \(y_0 = t \cdot c/g\), puis écrivez toutes les solutions sous la forme \(x = x_0 + (b/g)t\), \(y = y_0 - (a/g)t\).

Peut-on utiliser des coefficients négatifs ou un second membre négatif ?

Oui, les trois valeurs saisies peuvent être négatives ou nulles — seules les fractions et les nombres décimaux sont refusés. Le PGCD est toujours pris en valeur absolue, il est donc positif. Les formules de la solution générale fonctionnent sans modification avec \(a\), \(b\) ou \(c\) négatifs ; seuls les signes des pas \(b/g\) et \(a/g\) dans les formules paramétriques changent.

Comment savoir rapidement qu'aucune solution n'existe ?

Vérifiez la divisibilité par le PGCD : des solutions existent si et seulement si \(\gcd(a,b)\) divise \(c\). Un rapide test de parité déjoue bien des cas classiques — si \(a\) et \(b\) sont tous deux pairs, le membre de gauche est toujours pair, donc un \(c\) impair rend l'équation insoluble. De même, \(6x + 10y\) est toujours pair et toujours congru seulement aux multiples de \(\gcd(6,10)=2\).

Comment trouver uniquement des solutions positives ou nulles ?

La famille paramétrée \(x = x_0 + (b/g)t\), \(y = y_0 - (a/g)t\) vous donne une condition linéaire sur \(t\). Résolvez les deux inéquations \(x \ge 0\) et \(y \ge 0\) par rapport à \(t\), prenez l'intersection (c'est un intervalle fini d'entiers) et énumérez chaque valeur. Si l'intervalle obtenu pour \(t\) est vide, aucune solution avec les deux variables positives ou nulles n'existe.

Pourquoi le calculateur donne-t-il une solution particulière différente de celle de mon manuel ?

Les solutions particulières ne sont jamais uniques — si \((x_0, y_0)\) convient, alors \((x_0 + b/g,\; y_0 - a/g)\) aussi. Les deux réponses sont correctes, car elles engendrent le même ensemble complet de solutions grâce au paramètre \(t\). Ce calculateur ramène \(x_0\) dans l'intervalle compact \(0 \le x_0 < |b/g|\), ce que les manuels ne font pas forcément. Vérifiez toujours par substitution dans \(ax + by\).

Que se passe-t-il si a ou b vaut zéro ?

L'équation se ramène à une seule inconnue. Si \(b = 0\), il faut que \(a \mid c\) ; alors \(x = c/a\) est fixé tandis que \(y\) peut être n'importe quel entier, et symétriquement si \(a = 0\). Si les deux coefficients sont nuls, l'équation est soit toujours vraie (\(c = 0\), tout couple convient), soit jamais vraie. Le calculateur traite directement tous ces cas dégénérés.

En quoi est-ce différent de la résolution d'une équation linéaire ordinaire ?

Sur les nombres réels, \(ax + by = c\) avec un coefficient non nul admet toujours des solutions — toute une droite, même. La version diophantienne n'accepte que les couples d'entiers, ce qui peut la rendre insoluble (quand \(\gcd(a,b) \nmid c\)) ou donner un ensemble discret de solutions régulièrement espacées le long de cette droite au lieu d'un continuum. Le pas entre deux solutions consécutives est exactement \((b/g, -a/g)\).

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *