Accueil

Orientation générale

Barre de recherche

DicoNombre

DicoMot Math

DicoCulture

Atlas des maths

Rubriques

Index alphabétique

Nouveautés

Actualités

Références

Édition du: 29/03/2026

M'écrire

Brèves de Maths

 

INDEX

 

Équations

Algèbre

 

Équations

Généralités

Techniques de base

Diophantienne

Premier degré

Deuxième degré

Troisième degré

Deux inconnues

Deux équations ou plus

Déterminant

Inéquation

Avec exposant

Réduction

 

Relations de Viète

Eq.Diophan. ay = c² – x²

Faites un double-clic pour un retour en haut de page

 

 

Équation diophantienne

Ay = c² – x²  

 

Cette équation ne passe pas pour être une équation diophantienne profonde.
Sa résolution  est accessible via une astuce algébrique standard : une identité remarquable.

    

 

Sommaire de cette page

>>> Équation ay = c² – x²

>>> Exemple avec petit nombre 

>>> Exemple avec grand nombre

>>> Résolution en x et y ; a et c étant fixés

>>> Plus petite solution en x

>>> Programmation Python

  

Débutants

Équations

 

Glossaire

Équations diophantiennes

 

 

 

Équation ay = c² – x²

haut

 

Objectif

Il s’agit d’une équation diophantienne.

On cherche à résoudre dans les entiers l’équation :

où  a est un entier fixé, et  x, y et c sont des entiers inconnus.

 

ay = c² – x²

 

Idée clé : utiliser une identité remarquable

On reconnaît une différence de deux carrés :

 

ay = (c – x) (c + x)

 

Changement de variables

On pose :

 

Alors :

 

et on peut inverser :

 

 

u = c – x  et  v = c + x

 

ay = uv

 

 

Condition

Pour que x et c soient entiers :

u et v tous deux pairs ou tous deux impairs.

 

 u et v de même parité

 

Formule paramétrique

 

Cette formule donne toutes les solutions entières

Pas d’essais successifs

 

On ne cherche pas x ou y au hasard ; on construit directement les solutions

La méthode donne toutes les solutions ; chaque factorisation de ay fournit une solution.

 

 

 

Exemple avec petit nombre

haut

 

On choisit :

 

u = 120 ,  v = 144

 

Alors :

Famille des solutions pour a quelconque

 

Choisissons a = 16

On vérifie que a divise 120 × 144 ; ce qui est le cas.

 

Équation reconstituée

16 × 1080 = 132² – 12²

17 280 = 17 424 – 144  

 

Exemple avec grand nombre

haut

 

Pour garantir la divisibilité de uv par a, on construit :

 

Alors :

 

u = a·m  et  v = n

 

uv = a · m · n  =>  y  = m · n  ∈ ℤ

 

Choix initial

 

a = 1 000 000

m = 1 234 567

n = 9 876 543 210

  

 

Alors :

 

u = 1 234 567 000 000

v = 9 876 543 210

 

 

Calculs :

 



 
 

 

Vérification

ay = c² – x²

1 000 000  × 12 193 254 321 140 070 = 622 221 771 605² - 612 345 228 395²

= 12 193 254 321 140 070 000 000

 

 

Résolution en x et y ; a et c étant fixés

haut

 

Condition d’existence de solutions.

Condition toujours possible.

 

ay = c² – x² 

=> c² – x² ≡ 0 (mod a) ou c² ≡  x² (mod a)

 

Cas 1

 

x = c + at

 

 

Cas 2

 

x = -c + at

 

 

Toutes les solutions avec l’une de ces deux formules :

 

 

 

 

Plus petite solution en x

haut

 

On a :

Il faudra choisir t pour minimiser x (en valeur absolue).

 

x = ± c (mod a) ou x = ± c + at

 

Solutions possibles :

Il faudra choisir la plus petite valeur.

 

 

x = r

x = r – a

x = -r

x = a – r

 

Exemple

 

 

a = 16,    c = 132

132 mod 16 ≡ 4

x  = ± 4 (plus petit)

  

 

 

Programmation Python

haut

 

Programme avec a = 16 et c = 132

 

def solutions_diophantienne(a, c, t_min=-5, t_max=5):

    solutions = []

 

    for t in range(t_min, t_max + 1):

        # Cas 1

        x1 = c + a * t

        y1 = -2 * c * t - a * t**2

        solutions.append((x1, y1))

 

        # Cas 2

        x2 = -c + a * t

        y2 = 2 * c * t - a * t**2

        solutions.append((x2, y2))

 

    return solutions

 

 

def plus_petit_x(a, c):

    r = c % a

    candidats = [r, r - a, -r, a - r]

    x_min = min(candidats, key=abs)

    y = (c*c - x_min*x_min) // a

    return x_min, y

 

 

# Exemple

a = 16

c = 132

 

print("Plus petite solution :")

print(plus_petit_x(a, c))

 

print("\nQuelques solutions :")

for sol in solutions_diophantienne(a, c):

    print(sol)

 

Résultats

Plus petite solution (x, y) :

(4, 1088)

ð  16 × 1088 = 132² – 4²  = 17 408

 

Quelques solutions (x, y):

(52, 920)

(-212, -1720)

(68, 800)

(-196, -1312)

(84, 648)

(-180, -936)

(100, 464)

(-164, -592)

(116, 248)

(-148, -280)

(132, 0)

(-132, 0)

(148, -280)

(-116, 248)

(164, -592)

(-100, 464)

(180, -936)

(-84, 648)

(196, -1312)

(-68, 800)

(212, -1720)

(-52, 920)

 

Quelques plus petites solutions impliquant de grands nombres

 

12345 × 790160 = 98765² – 5² = 9754525200

1234567 × 79012400 = 9876543² – 7² = 97546101630800

123456789 × 7901234640 = 987654321² - 9² = 975461057789970960

123456789101112 × 7901234635109072 = 987654321098765² – 8289869² = 975461057985062330314956488064

  

Voir Programmation / Programmation Python

 

 

 

Haut de page (ou double-clic)

 

 

Suite

*        Équation – Glossaire et index

*         Équations diophantiennes

*      Techniques de base

*      Exercices simples

*      Réduction des termes d'une équation

*      Relations de Viète

*      Équations énigmatiques – Index

*      Voir haut de page

Voir

*      Algorithme d'Héron

*      Équation avec racines  carrés

*      Équation de Pell

*      Équation en x4 par factorisation

*      Équations diophantiennes

*      Inéquations

*      Les 17 équations qui ont changé le monde

*      Méthode de Newton

*      Puissance quatrième

*      Structure algébriques et équations

Cette page

http://diconombre.fr/ThNbDemo/eqdiopha.htm