Cornacci algoritme

Cornacci-algoritmen er en algoritme til løsning af en diophantinsk ligning , hvor , og d og m er coprime . Algoritmen blev beskrevet i 1908 af Giuseppe Cornacci [1] .

Algoritme

Først finder vi en løsning . Hvis dette ikke eksisterer, har den oprindelige ligning ingen primitive løsninger. Uden tab af generalitet kan vi antage, at (hvis dette ikke er tilfældet, erstat r 0 med m - r 0 , som forbliver roden til - d ). Nu bruger vi Euklids algoritme til at finde , og så videre. Vi stopper når . Hvis er et heltal, så er løsningen . Ellers er der ingen primitiv løsning.

For at finde ikke-primitive løsninger ( x , y ) hvor gcd( x , y ) = g ≠ 1, skal du bemærke, at eksistensen af ​​en sådan løsning indebærer, at g 2 deler m (og tilsvarende, hvis m er kvadratfri , så alle løsninger er primitive). Så kan ovenstående algoritme bruges til at finde en primitiv løsning ( u , v ) af ligningen . Hvis en sådan løsning findes, så vil ( gu , gv ) være løsningen til den oprindelige ligning.

Eksempel

Vi løser ligningen . Kvadratroden af ​​−6 (mod 103) er 32 og 103 ≡ 7 (mod 32). Da og , er der en løsning x  = 7,  y  = 3.

Noter

  1. Cornacchia, 1908 , s. 33-90.

Litteratur

Links

Basilla, Julius Magalona Om Cornacchias algoritme til løsning af den diofantinske ligning (PDF) (12. maj 2004).