Académique Documents
Professionnel Documents
Culture Documents
PROCEDURE DE RECHERCHE
D’UNE SOLUTION PARTICULUERE DE L’EQUATION DIOPHANTIENNE
Théorème :
Soient a et b deux entiers naturels non nuls et δ = a ∧ b.
Il existe un couple (u,v) ∈ Z x Z tel que :
δ = rn = (β n a − α n b )(
. − 1)n +1
δ = au + bv avec
u = β n .(− 1)n +1 ; v = α n .(−1) n
rn = a ∧ b = au + bv
u = β n . (−1) n +1
avec
v = α n . (−1) n
* Pour i = 1 r1 = a – bq1
⇒ α1 = q 1 β1 = 1
** Supposons que : ∀p∈ {1,........, n - 1}
( )
rp = β p a - α p b (- 1)p +1
( )
rp -1 = βp −1a - α p -1b (- 1)
p
et démontrons que :
( )
rp +1 = β p +1a - α p +1b (- 1)p
β p +1 = β p q p +1 + β p -1
Posons :
α p +1 = α p q p +1 + α p -1
[
d’où rp +1 = (−1) p β p +1 a - α p +1 b ]
***Conclusion :
βp +1 = βp q p +1 + βp −1
La procédure est :
α p +1 = α p q p +1 + α p −1
β p +1 β p β p -1 q p +1
=
p +1 α p α p -1 1
α
rn = a ∧ b.
rn = dernier reste non nul dans l’algorithme d’Euclide.
rn = (β n a − α n b ) x (- 1)n +1 .
On calcule βn, αn pour l’exemple P171 tome 2. 4math avec cette procédure.
a = 22826 b = 537
i 1 2 3 4 5 6
ri 272 265 7 6 1 0
qi 42 1 1 37 1 6
a = b x q1 + r1
22826 = 537 x 42 +272
r1 = a – b x q1 = β1a - α1b
272=22826-537x42
β1 = 1 ; α1 = q1
(β1 = 1 ; α1 = 42)
2
b = r1 q2 + r2
r2=b – r1 q2
r2= b – (a – bq1) q2
r2 = -q2 a + (1 + q1 q2) b
r2 = - β2 a + α2 b
β2 = q2 ; α2 = 1 + q1 q2
(β2 = 1 ; α2 = 1 + 42 x 1)
(β2 = 1 ; α2 = 43)
β1 0 1 q1 0 1 42 1
α = 1 0 1 = 1 =
0 1 42
1
β 2 β1 0 q 2 1 0 1 1
α = α 1 1 = 42 =
2 1 1 1 43
β3 β 2 β1 q 3 1 1 1 2
α = α α1 1 = 43 =
3 2 42 1 85
β 4 β3 β2 q 4 2 1 37
α = α α 2 1 = 85 43 1
4 3
β5 β 4 β3 q 5 75 2 1 77
α = α α 1 3188 85 1 = 3273
5 4 3
→b
β6 β5 β 4 q 6 77 75 6 537
α = α α 1 3273 3188 1 = 22826
6 5 4 → a
r6 = 0 et r5 ≠ 0
3
PROGRAMMATION :
PROGRAM BEZOUT
{Ce programme permet de chercher une solution particulière
u et v de l'équation a*X+b*Y=1
afin de résoudre l'équation dans ZXZ : a*X+b*Y=c }
uses wincrt ;
type tab = array [0..79] of longint ;
var t1,t2 :tab ;
a,b,i,c,d,u,v :longint ;
Function PGCD(a,b : longint ):longint ;
{Cette fonction permet de determiner le PGCD de a et b
qui servira plus tard pour la saisie de a et b }
var c,d,e :longint ;
begin
if (abs(a)<=abs(b))
then
begin c:= abs(b) ;
d:= abs(a) ;
end
else
begin d:= abs(b) ;
c:= abs(a) ;
end ;
while (c mod d <>0) do
begin
e := c mod d ;
c := d ;
d := e ;
end ;
Pgcd := d ;
end ;
procedure quotient(a,b :longint ; var t1 :tab; var i :longint ) ;
{Procédure servant a calculer les quotients de la division
euclidienne de a par b }
var j : longint ;
begin
i :=0 ;
repeat
i := i +1 ;
j := a mod b ;
t1[i]:= a div b ;
a := b ;
b := j ;
until j =0 ;
end ;
4
Procedure Saisir(var a:longint ; var b:longint) ;
{Procedure ayant pour but de contrôler la saisie de a et b
suivant les condition de l'identité de Bezout }
begin
repeat
writeln('Donner deux entiers a et b premiers entre eux ') ;
readln (a,b) ;
until ((a<>0) and (b<>0) and ( pgcd(a,b) =1 )) ;
end ;
Procedure cal(t1:tab;i:longint;var u :longint;var v :longint) ;
{Procedure servant a calculer les entiers u et v }
var t2 :tab ;
j :longint ;
t3 :tab ;
begin
t3[1] :=1 ;
t3[2] :=t1[2] ;
t2[1]:=t1[1] ;
t2[2]:=t1[2] * t2[1] +1 ;
for j :=3 to i do
begin
t2[j] := t1[j] * t2[j-1] + t2[j-2] ;
t3[j] := t1[j] * t3[j-1] + t3[j-2] ;
end ;
v := t3[i-1] ;
u := t2[i-1] ;
end ;
Procedure iden(a,b,u,v :longint) ;
Begin
if ( a*u+b*v=1)
then write('u=',u,' v=',v)
else if (-a*u+b*v=1)
then write('u=-',u,' et v=',v)
else if (a*u-b*v=1)
then write('u=',u,' et v=-',v)
else if (-a*u-b*v=1)
then write('u=-',u,' et v=-',v)
else if ( a*v+b*u=1)
then write('u=',v,' et v=',u)
else if (-a*v+b*u=1)
then write('u=-',v,' et v=',u)
else if (a*v-b*u=1)
then write('u=',v,' et v=-',u)
else if (-a*v-b*u=1)
then write('u=-',v,' et v=-',u) ;
end ;
5
{Série de test permettant de reconnaître u et v ainsi que
de savoir le signe de chacun }
BEGIN ;
Saisir (a,b) ;
if (abs(a)<=abs(b))
then
begin c:= abs(b) ;
d:= abs(a) ;
end
else
begin d:= abs(b) ;
c:= abs(a) ;
end ;
quotient (c,d,t1,i) ;
cal(t1,i,u,v) ;
writeln ('a=',a,' et b=',b) ;
iden(a,b,u,v) ;
END .
{Programme écrit par Ahmed Douik de la 4 Math 6 lycée Pilote
BourguibaTunis sous la direction de Mr Ben Jedidia Chokri }
6
7