Kongruencje
Definicja
Niech m ∈ N+oraz a, b ∈ Z.
Mówimy, żea przystaje do b modulo m(i piszemy a ≡ b (mod m) lub a ≡mb), jeśli m | a − b.
Równoważnie, a ≡ b (mod m) wtedy tylko wtedy, gdy a mod m = b mod m.
Przykłady
−1 ≡ 11 (mod 4).
3 6≡ 5 (mod 4).
Własności
Kongruencja jest relacją równoważności.
Jeśli a ≡ b (mod m) oraz c ≡ d (mod m), to
a ± c ≡ b ± d (mod m) oraz a · c ≡ b · d (mod m).
Rozwiązywanie kongruencji
Problem
Dla danych liczb m ∈ N oraz a, b ∈ Z znaleźć wszystkie liczby x ∈ Z takie, że a · x ≡ b (mod m).
Metoda
1 Wykorzystując rozszerzony algorytm Euklidesa, znajdujemy liczby d ∈ N oraz k, l ∈ Z takie, że
d = NWD(m, a) i d = k · m + l · a.
2 Jeśli d - b, to kończymy rozwiązanie.
Odpowiedzią jest: x ∈ ∅.
3 Jeśli d | b, to „zastępujemy” (o ile d 6= 1) kongruencję a · x ≡ b (mod m) kongruencją a0· x ≡ b0 (mod m0), gdzie
a0:=ad, b0:=db, m0:=md.
4 Mnożąc kongruencję a0· x ≡ b0 (mod m0) stronami przez l , otrzymujemy kongruencję x ≡ l · b0 (mod m0).
5 Jeśli r := (l · b0) mod m0, to odpowiedzią jest: x ≡ r (mod m0).
Rozwiązywanie kongruencji – przykład
Zadanie
Znaleźć wszystkie liczby x ∈ Z takie, że 8x ≡ 12 (mod 22).
Rozwiązanie
1 Stosujemy rozszerzony algorytm Euklidesa dla 22 i 8:
a b r q k l
1 0
22 8 6 2 0 1
8 6 2 1 1 -2
6 2 0 3 -1 3
2 0
3 Ponieważ 2 | 12, więc musimy rozwiązać kongruencję 4x ≡ 6 (mod 11).
4 Mnożąc powyższą kongruencję stronami przez 3, otrzymujemy kongruencję x ≡ 18 (mod 11).
Rozwiązywanie układów kongruencji - Metoda I
Problem
Dla danych liczb a1, b1, . . . , ak, bk∈ Z oraz m1, . . . , mk∈ N takich, że NWD(mi, mj) = 1 dla i 6= j , znaleźć wszystkie liczby x ∈ Z takie, że ai· x ≡ bi (mod mi), dla każdego i = 1, . . . , k.
Metoda I
1 Niech n := m1· · · mkoraz
n1:= m2· · · mk, n2:= m1· m3· · · mk, . . . , nk:= m1· · · mk−1.
2 Zastępujemy kongruencje
a1· x ≡ b1 (mod m1), a2· x ≡ b2 (mod m2), . . . , ak· x ≡ bk (mod mk), kongurencjami
n1a1·x ≡ n1b1 (mod n), n2a2·x ≡ n2b2 (mod n), . . . , nkak·x ≡ nkbk (mod n).
Dodając stronami powyższe kongruencje, otrzymujemy kongruencję
(n1a1+ n2a2+ · · · + nkak) · x ≡ n1b1+ n2b2+ · · · + nkbk (mod n).
3 Rozwiązując powyższą kongruencję, znajdujemy odpowiedź.
Rozwiązywanie układów kongruencji - Metoda I, przykład
Zadanie
Znaleźć wszystkie liczby x ∈ Z takie, że
x ≡ 3 (mod 5), 2x ≡ 4 (mod 6), 3x ≡ 1 (mod 7).
Rozwiązanie
1 Mamy n = 5 · 6 · 7 = 210 oraz
n1:= 6 · 7 = 42, n2:= 5 · 7 := 35, n3:= 5 · 6 = 30.
2 Mnożąc współczynniki wyjściowych kongruencji przez 42, 35 i 30, odpowiednio, otrzymujemy 42x ≡ 126 (mod 210), 70x ≡ 140 (mod 210), 90x ≡ 30 (mod 210).
Dodając powyższe kongruencje stronami, dostajemy kongruencję 202x ≡ 296 (mod 210).
3 Rozwiązanie kongruencji
202x ≡ 296 (mod 210), ma postać
x ≡ 68 (mod 105).
Rozwiązywanie układów kongruencji - Metoda II
Założenie
Zakładamy, że k = 2, tj. chcemy rozwiązać układ
a1· x ≡ b1 (mod m1), a2· x ≡ b1 (mod m2).
W przypadku, gdy k > 2, możemy iterować stosowanie powyższej metody.
Metoda II
1 Rozwiązujemy kongruencje a1· x ≡ b1 (mod m1), a2· x ≡ b1 (mod m2), a więc zastępujemy je kongruencjami
x ≡ b10 (mod m01), x ≡ b02 (mod m02).
2 Stosując rozszerzony algorytm Euklidesa dla pary (m01, m02), znajdujemy liczby l1i l2takie, że 1 = l1· m01+ l2· m02.
3 Jeśli r := (l2m20b01+ l1m1b20) mod(m01m20), to rozwiązanie ma postać x ≡ r (mod m01m02).
Rozwiązywanie układów kongruencji - Metoda II, przykład
Zadanie
Znaleźć wszystkie liczby x ∈ Z takie, że
x ≡ 3 (mod 5), 2x ≡ 4 (mod 6), 3x ≡ 1 (mod 7).
Rozwiązanie Krok I
1 Rozwiązując kongruencje x ≡ 3 (mod 5), 2x ≡ 4 (mod 6) otrzymujemy kongruencje x ≡ 3 (mod 5) i x ≡ 2 (mod 3).
2 Stosując rozszerzony algorytm Euklidesa dla liczb 5 i 3, otrzymujemy 1 = (−1) · 5 + 2 · 3.
3 Ponieważ (3 · 2 · 3 + 2 · (−1) · 5) mod(5 · 3) = 8, więc w Kroku I otrzymujemy rozwiązanie x ≡ 8 (mod 15).
Krok II
1 Rozwiązując kongruencje x ≡ 8 (mod 15), 3x ≡ 1 (mod 7) otrzymujemy kongruencje x ≡ 8 (mod 15) i x ≡ 5 (mod 7).
2 Stosując rozszerzony algorytm Euklidesa dla liczb 15 i 7, otrzymujemy 1 = 1 · 15 + (−2) · 7.
Rozwiązywanie układów kongruencji - Metoda III
Uwaga
Poniższa metoda jest modyfikacją Metody II i może być stosowana w jej zastępstwie, gdy k > 2.
Metoda III
1 Rozwiązujemy kongruencje
a1· x ≡ b1 (mod m1), a2· x ≡ b2 (mod m2), . . . ak· x ≡ bk (mod mk), a więc zastępujemy je kongruencjami
x1≡ b01 (mod m01), x2≡ b02 (mod m20), . . . xk≡ b0k (mod m0k).
2 Niech n := m01· · · mk0oraz
n1:= m02· · · m0k, n2:= m01· m03· · · m0k, . . . nk:= m10· · · m0k−1.
3 Dla każdego i = 1, . . . , k, stosujemy rozszerzony algorytm Euklidesa dla pary (ni, m0i) i znajdujemy liczby pii qitakie, że
1 = pi· ni+ qi· m0i.
4 Jeśli r := (p1n1b01+ p2n2b20+ · · · + pknkb0k) mod n, to rozwiązanie ma postać x ≡ r (mod n).
Rozwiązywanie układów kongruencji - Metoda III, przykład
Zadanie
Znaleźć wszystkie liczby x ∈ Z takie, że
x ≡ 3 (mod 5), 2x ≡ 4 (mod 6), 3x ≡ 1 (mod 7).
Rozwiązanie
1 Rozwiązując kongruencje x ≡ 3 (mod 5), 2x ≡ 4 (mod 6), 3x ≡ 1 (mod 7), otrzymujemy kongruencje
x ≡ 3 (mod 5), x ≡ 2 (mod 3), x ≡ 5 (mod 7).
2 Mamy n = 5 · 3 · 7 = 105 oraz
n1:= 3 · 7 = 21, n2:= 5 · 7 := 35, n3:= 5 · 3 = 15.
3 Stosując rozszerzony algorytm Euklidesa dla par (21, 5), (35, 6) i (15, 7), otrzymujemy 1 = 1 · 21 + (−4) · 5, 1 = (−1) · 35 + 12 · 3, 1 = 1 · 15 + (−2) · 7.
odpowiednio.
4 Ponieważ
(3 · 1 · 21 + 2 · (−1) · 35 + 5 · 1 · 15) mod 105 = 68, więc odpowiedzią jest: x ≡ 68 (mod 105).