[REKLAMA]

Hledání Bezoutových koeficientů podle Euklidova algoritmu

Při provádění Euklidova algoritmu si pamatujeme vztahy typu a=kb+r, následně do nich zpětně dosadíme.

Počet kroků Euklidova algoritmu

Pro a>b platí b(amodb)<ab2. Tudíž součin čísel, jejichž gcd hledáme, se pokaždé sníží alespoň dvakrát. Tedy časová složitost je 𝒪(log(ab))=𝒪(log(a)+log(b)).

Nejmenší b, které potřebuje n kroků, je Fn+1.

Diofantická rovnice

Věta. Řešení rovnice ax+by=c v existuje právě tehdy, pokud gcd(a,b)|c.
Důkaz.

() gcd(a,b)|agcd(a,b)|bgcd(a,b)|c

() Nechť c=c÷gcd(a,b). Podle věty o Bezoutových koeficientech ax0+by0=gcd(a,b). Zvolme x=cx0,y=cy0, poté přenásobením rovnice c získáme ax+by=c.

Věta. Jestliže rovnice ax+by=c má řešení x0,y0. Označme a=a÷gcd(a,b),b=b÷gcd(a,b), pak všechna řešení jsou ve tvaru x=x0+kb,y=y0ka.