Kongruencja kwadratów
W teorii liczb kongruencja kwadratów jest kongruencją powszechnie używaną w algorytmach faktoryzacji liczb całkowitych .
Pochodzenie
Mając dodatnią liczbę całkowitą n , metoda faktoryzacji Fermata polega na znalezieniu liczb x i y spełniających równość
Możemy wtedy rozłożyć n = x 2 − y 2 = ( x + y )( x − y ). Ten algorytm jest w praktyce powolny, ponieważ musimy przeszukać wiele takich liczb, a tylko kilka spełnia równanie. Jednak n można również rozłożyć na czynniki, jeśli możemy spełnić słabszy warunek zgodności kwadratów :
Stąd łatwo wywnioskować
Oznacza to, że n dzieli iloczyn ( x + y )( x − y ). Zatem ( x + y ) i ( x − y ) każdy zawiera czynniki n , ale te czynniki mogą być trywialne. W tym przypadku musimy znaleźć inne x i y . Obliczenie największych wspólnych dzielników ( x + y , n ) i ( x − y , n ) da nam te czynniki; można to zrobić szybko za pomocą algorytmu Euklidesa .
Kongruencje kwadratów są niezwykle przydatne w algorytmach faktoryzacji liczb całkowitych i są szeroko stosowane, na przykład, w sicie kwadratowym , sicie ogólnego pola liczbowego , ciągłym ułamku faktoryzacji i faktoryzacji Dixona . I odwrotnie, ponieważ znalezienie pierwiastków kwadratowych modulo liczby złożonej okazuje się być probabilistycznym równoważnikiem czasu wielomianu z rozłożeniem tej liczby na czynniki, każdy algorytm faktoryzacji liczb całkowitych może być skutecznie użyty do zidentyfikowania kongruencji kwadratów.
Dalsze uogólnienia
Możliwe jest również użycie podstaw czynników, aby szybciej znaleźć kongruencje kwadratów. Zamiast szukać od początku, znajdujemy wiele gdzie y mają małe czynniki pierwsze i spróbuj pomnożyć kilka z nich razem, aby uzyskać kwadrat po prawej stronie strona.
Przykłady
Rozłóż na czynniki 35
Bierzemy n = 35 i znajdujemy to
- .
W ten sposób uwzględniamy jako
Rozłóż na czynniki 1649
Wykorzystując n = 1649 jako przykład znajdowania kongruencji kwadratów zbudowanych z iloczynów niekwadratów (patrz metoda faktoryzacji Dixona ), najpierw otrzymujemy kilka kongruencji
spośród nich dwa mają tylko małe liczby pierwsze jako czynniki
a ich kombinacja ma parzystą potęgę każdej małej liczby pierwszej, a zatem jest kwadratem
otrzymując kongruencję kwadratów
Więc użycie wartości 80 i 114 jako naszych x i y daje współczynniki