dh-Materialien Einführung in Maple    Anwendungen
|  Home  |  Back  |  <   >  |

Mathematik
 

Einführung in Maple
  Hinweise
  Übersicht
  Übungen
  Anwendungen
  Stichworte
  Download
 

Lösungen einer Pell'schen Gleichung

restart; with (numtheory):

Wahl einer beliebigen nicht-quadratischen natürlichen Zahl:

d:= 57;

d:= 57

Die zu d gehörende Pell'sche Gleichung x2d·y2 = 1:

pell:= x^2 - d*y^2 = 1:
pell;

x^2 - 57*y^2 = 1

Berechnen von cf, dem Kettenbruch von sqrt(d):

cf:= cfrac (sqrt(d), 'periodic', 'quotients'):
sqrt(d) = cf; ;
len:= nops(op(cf)[2]): # Periodenlänge
cfrac (sqrt(d), 2*len + 1);

sqrt(57) = [[7],[1,1,4,1,1,14]]

Kettenbruch von sqrt(57)
 

Die Näherungsbrüche für sqrt(d) bis zur 15. Ordnung:

konv:= NULL:
for i from 1 to 15 do
  konv:= konv, nthconver (cf, i);
od:
konv;

8, 15/2, 68/9, 83/11, 151/20, ...

Der n1-te Näherungsbruch ist der erste, der eine nicht-triviale Lösung für die Gleichung pell liefert:

if is(len, even) then
  n[1]:= len - 1;
  l:= len:
fi;
if is(len, odd) then
  n[1]:= 2*len - 1;
  l:= 2*len:
fi;

n[1]:= 5; l:= 6

Berechnung der n1-ten Konvergenten des Kettenbruchs von sqrt(d):

nthconver (cf, n[1]);
x:= nthnumer (cf, n[1]);
y:= nthdenom (cf, n[1]);
x^2 - d*y^2;

151/20

Auflistung weiterer Lösungen der Gleichung x2 − d·y2 = 1:

for i from 0 to 5 do
  x:= nthnumer (cf, n[1]+i*l):
  y:= nthdenom (cf, n[1]+i*l):
  lsg[i]:= [x, y]:
od:
for i from 0 to 5 do
  lsg[i];
  lsg[i][1]^2 - d*lsg[i][2]^2;
od;

[151, 20], [45601, 6040], ...

Copyright

Valid HTML 4.01 Transitional

|  Home  |  Back  |  Top  |