Różnica pomiędzy stronami "Testy pierwszości. Liczby pseudopierwsze Lucasa i liczby silnie pseudopierwsze Lucasa. Test BPSW" i "CRT, twierdzenia Lagrange'a, Wilsona i Fermata, kryterium Eulera, symbole Legendre'a i Jacobiego"

Z Henryk Dąbrowski
(Różnica między stronami)
Przejdź do nawigacji Przejdź do wyszukiwania
 
 
Linia 1: Linia 1:
<div style="text-align:right; font-size: 130%; font-style: italic; font-weight: bold;">11.01.2023</div>
+
<div style="text-align:right; font-size: 130%; font-style: italic; font-weight: bold;">22.03.2023</div>
  
 
__FORCETOC__
 
__FORCETOC__
Linia 5: Linia 5:
  
  
== Ciągi Lucasa ==
+
== Chińskie twierdzenie o&nbsp;resztach ==
  
<span style="font-size: 110%; font-weight: bold;">Definicja L1</span><br/>
+
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J1</span><br/>
Niech <math>P, Q \in \mathbb{Z} \setminus \{0\}</math> oraz <math>D = P^2 - 4 Q \neq 0</math>. Ciągi Lucasa <math>U_n = U_n (P, Q)</math> i <math>V_n = V_n (P, Q)</math> definiujemy następująco
+
Niech <math>a, u \in \mathbb{Z}</math> i <math>m, n \in \mathbb{Z}_+</math> i <math>\gcd (m, n) = 1</math>. Kongruencja
  
::<math>U_n = {\small\frac{\alpha^n - \beta^n}{\alpha - \beta}} = {\small\frac{\alpha^n - \beta^n}{\sqrt{D}}}</math>
+
::<math>u \equiv a \pmod{m n}</math>
  
::<math>V_n = \alpha^n + \beta^n</math>
+
jest równoważna układowi kongruencji
  
gdzie liczby
+
::<math>\begin{align}
 +
u &\equiv a \pmod{m} \\
 +
u &\equiv a \pmod{n}
 +
\end{align}</math>
  
::<math>\alpha = {\small\frac{P + \sqrt{D}}{2}}</math>
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
  
::<math>\beta = {\small\frac{P - \sqrt{D}}{2}}</math>
+
<math>\Large{\Longrightarrow}</math>
  
są pierwiastkami równania <math>x^2 - P x + Q = 0</math>.
+
Jeżeli liczba <math>u - a</math> jest podzielna przez iloczyn <math>m n</math>, to tym bardziej jest podzielna przez dowolny czynnik tego iloczynu, skąd wynika natychmiast wypisany układ kongruencji.
  
 +
<math>\Large{\Longleftarrow}</math>
  
 +
Z kongruencji
  
<span style="font-size: 110%; font-weight: bold;">Uwaga L2</span><br/>
+
::<math>u \equiv a \pmod{m}</math>
Zauważmy, że:
 
  
::<math>P = \alpha + \beta</math>
+
wynika, że <math>u - a = k m</math>, zaś z&nbsp;kongruencji
  
::<math>Q = \alpha \beta</math>
+
::<math>u \equiv a \pmod{n}</math>
  
::<math>\sqrt{D} = \alpha - \beta</math>
+
otrzymujemy <math>n \mid (u - a)</math>, czyli <math>n \mid k m</math>. Ponieważ <math>\gcd (m, n) = 1</math>, zatem <math>n \mid k</math> (zobacz C74) i&nbsp;istnieje taka liczba całkowita <math>s</math>, że <math>k = s n</math>, czyli <math>u - a = s n m</math>, a&nbsp;stąd <math>u \equiv a \!\! \pmod{m n}</math>. Co kończy dowód.<br/>
 +
&#9633;
 +
{{\Spoiler}}
  
::<math>U_0 = 0</math>, <math>U_1 = 1</math>, <math>V_0 = 2</math> i <math>V_1 = P</math>
 
  
  
Warunek <math>P^2 - 4 Q \neq 0</math> wyklucza następujące pary <math>(P, Q)</math>
+
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J2</span><br/>
 +
Dla dowolnych liczb <math>a, b \in \mathbb{Z}</math> i&nbsp;względnie pierwszych liczb <math>m, n \in \mathbb{Z}_+</math> istnieje dokładnie jedna taka liczba <math>c</math> (określona modulo <math>m n</math>), że prawdziwy jest układ kongruencji
  
::<math>(0, 0), (\pm 2, 1), (\pm 4, 4), (\pm 6, 9), (\pm 8, 16), (\pm 10, 25), (\pm 12, 36), ..., (\pm 2 n, n^2), ...</math>
+
::<math>\begin{align}
 +
c & \equiv a \pmod{m} \\
 +
c & \equiv b \pmod{n}
 +
\end{align}</math>
  
 +
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 +
Z&nbsp;założenia liczby <math>m</math> i <math>n</math> są względnie pierwsze, zatem na mocy lematu Bézouta (C.71) istnieją takie liczby <math>x, y \in \mathbb{Z}</math>, że
  
 +
::<math>m x + n y = 1</math>
  
<span style="font-size: 110%; font-weight: bold;">Uwaga L3</span><br/>
+
Niech <math>c = a n y + b m x</math>. Modulo <math>m</math> dostajemy
Oczywiście liczby <math>\alpha</math> i <math>\beta</math> są również pierwiastkami równania
 
  
::<math>x^{n + 2} - P x^{n + 1} + Q x^n = 0</math>
+
::<math>c \equiv a n y \pmod{m}</math>
  
Wynika stąd, że ciągi <math>(\alpha^n)</math> i <math>(\beta^n)</math> spełniają równania rekurencyjne
+
::<math>c \equiv a (1 - m x) \pmod{m}</math>
  
::<math>\alpha^{n + 2} = P \alpha^{n + 1} - Q \alpha^n</math>
+
::<math>c \equiv a \pmod{m}</math>
  
::<math>\beta^{n + 2} = P \beta^{n + 1} - Q \beta^n</math>
+
Natomiast modulo <math>n</math> mamy
  
Ciągi Lucasa <math>(U_n)</math> i <math>(V_n)</math> spełniają identyczne równania rekurencyjne jak ciągi <math>(\alpha^n)</math> i <math>(\beta^n)</math>. Istotnie, odejmując i&nbsp;dodając stronami wypisane powyżej równania, otrzymujemy
+
::<math>c \equiv b m x \pmod{n}</math>
  
::<math>U_{n + 2} = P U_{n + 1} - Q U_n</math>
+
::<math>c \equiv b (1 - n y) \pmod{n}</math>
  
::<math>V_{n + 2} = P V_{n + 1} - Q V_n</math>
+
::<math>c \equiv b \pmod{n}</math>
  
Dlatego możemy zdefiniować ciągi Lucasa <math>(U_n)</math> i <math>(V_n)</math> w&nbsp;sposób równoważny
+
Pokazaliśmy tym samym istnienie szukanej liczby <math>c</math>. Przypuśćmy, że istnieją dwie takie liczby <math>c</math> i <math>d</math>. Z&nbsp;założenia <math>m \mid (d - a)</math> i <math>m \mid (c - a)</math>, zatem <math>m</math> dzieli różnicę tych liczb, czyli <math>m \mid (d - c)</math>. Podobnie pokazujemy, że <math>n \mid (d - c)</math>. Ponieważ liczby <math>m</math> i <math>n</math> są względnie pierwsze, to <math>m n \mid (d - c)</math> (zobacz C75), co oznacza, że
  
 +
::<math>d \equiv c \pmod{m n}</math>.
  
 +
Czyli możemy powiedzieć, że wybrana przez nas liczba <math>c</math> jest określona modulo <math>m n</math> i&nbsp;tak rozumiana jest dokładnie jedna. W&nbsp;szczególności istnieje tylko jedna liczba <math>c</math> taka, że <math>1 \leqslant c \leqslant m n</math>.<br/>
 +
&#9633;
 +
{{\Spoiler}}
  
<span style="font-size: 110%; font-weight: bold;">Definicja L4</span><br/>
 
Niech <math>P, Q \in \mathbb{Z} \setminus \{0\}</math> oraz <math>D = P^2 - 4 Q \neq 0</math>. Ciągi Lucasa <math>(U_n)</math> i <math>(V_n)</math> określone są następującymi wzorami rekurencyjnymi
 
  
::<math>U_0 = 0</math>, <math>U_1 = 1</math>, <math>U_n = P U_{n - 1} - Q U_{n - 2}</math>
 
  
::<math>V_0 = 2</math>, <math>V_1 = P</math>, <math>V_n = P V_{n - 1} - Q V_{n - 2}</math>
+
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J3 (chińskie twierdzenie o&nbsp;resztach)</span><br/>
 +
Niech <math>a, b, c, u \in \mathbb{Z}</math> i <math>m, n \in \mathbb{Z}_+</math> oraz niech <math>\gcd (m, n) = 1</math>. Istnieje dokładnie jedna liczba <math>c</math> (określona modulo <math>m n</math>) taka, że kongruencja
  
 +
::<math>u \equiv c \pmod{m n}</math>
  
 +
jest równoważna układowi kongruencji
  
<span style="font-size: 110%; font-weight: bold;">Przykład L5</span><br/>
+
::<math>\begin{align}
Początkowe wyrazy ciągów Lucasa
+
u & \equiv a \pmod{m} \\
 
+
  u & \equiv b \pmod{n}
::{| class="wikitable plainlinks"  style="font-size: 100%; text-align: left; margin-right: auto;"
+
\end{align}</math>
|-
 
! <math>\boldsymbol{n}</math> !! <math>\boldsymbol{U_n (P, Q)}</math> !! <math>\boldsymbol{V_n (P, Q)}</math>
 
|-
 
| &nbsp;&nbsp;<math>0</math>&nbsp;&nbsp; || <math>0</math> || <math>2</math>
 
|-
 
| &nbsp;&nbsp;<math>1</math>&nbsp;&nbsp; || <math>1</math> || <math>P</math>
 
|-
 
| &nbsp;&nbsp;<math>2</math>&nbsp;&nbsp; || <math>P</math> || <math>P^2 - 2 Q</math>
 
|-
 
| &nbsp;&nbsp;<math>3</math>&nbsp;&nbsp; || <math>P^2 - Q</math> || <math>P^3 - 3 P Q</math>
 
|-
 
| &nbsp;&nbsp;<math>4</math>&nbsp;&nbsp; || <math>P^3 - 2 P Q</math> || <math>P^4 - 4 P^2 Q + 2 Q^2</math>
 
|-
 
| &nbsp;&nbsp;<math>5</math>&nbsp;&nbsp; || <math>P^4 - 3 P^2 Q + Q^2</math> || <math>P^5 - 5 P^3 Q + 5 P Q^2</math>
 
|-
 
| &nbsp;&nbsp;<math>6</math>&nbsp;&nbsp; || <math>P^5 - 4 P^3 Q + 3 P Q^2</math> || <math>P^6 - 6 P^4 Q + 9 P^2 Q^2 - 2 Q^3</math>
 
|-
 
| &nbsp;&nbsp;<math>7</math>&nbsp;&nbsp; || <math>P^6 - 5 P^4 Q + 6 P^2 Q^2 - Q^3</math> || <math>P^7 - 7 P^5 Q + 14 P^3 Q^2 - 7 P Q^3</math>
 
|-
 
| &nbsp;&nbsp;<math>8</math>&nbsp;&nbsp; || <math>P^7 - 6 P^5 Q + 10 P^3 Q^2 - 4 P Q^3</math> || <math>P^8 - 8 P^6 Q + 20 P^4 Q^2 - 16 P^2 Q^3 + 2 Q^4</math>
 
|-
 
| &nbsp;&nbsp;<math>9</math>&nbsp;&nbsp; || <math>P^8 - 7 P^6 Q + 15 P^4 Q^2 - 10 P^2 Q^3 + Q^4</math> || <math>P^9 - 9 P^7 Q + 27 P^5 Q^2 - 30 P^3 Q^3 + 9 P Q^4</math>
 
|}
 
 
 
 
 
 
 
<span style="font-size: 110%; font-weight: bold;">Uwaga L6</span><br/>
 
W PARI/GP możemy napisać prosty kod, który pozwoli obliczyć wartości wyrazów <math>U_n (P, Q)</math> i <math>V_n (P, Q)</math>
 
 
 
<span style="font-size: 90%; color:black;">LucasU(n, P, Q) = '''if'''( n == 0, 0, '''if'''( n == 1, 1, P*LucasU(n-1, P, Q) - Q*LucasU(n-2, P, Q) ) )</span>
 
 
 
  <span style="font-size: 90%; color:black;">LucasV(n, P, Q) = '''if'''( n == 0, 2, '''if'''( n == 1, P, P*LucasV(n-1, P, Q) - Q*LucasV(n-2, P, Q) ) )</span>
 
 
 
 
 
 
 
<span style="font-size: 110%; font-weight: bold;">Twierdzenie L7</span><br/>
 
Niech <math>D = P^2 - 4 Q</math>. Wyrazy ciągów Lucasa można przedstawić w&nbsp;postaci sumy
 
 
 
::<math>2^{n - 1} U_n = \sum_{k = 0}^{\lfloor (n - 1) / 2 \rfloor} \binom{n}{2 k + 1} P^{n - 2 k - 1} D^k</math>
 
 
 
::<math>2^{n - 1} V_n = \sum_{k = 0}^{\lfloor n / 2 \rfloor} \binom{n}{2 k} P^{n - 2 k} D^k</math>
 
  
 
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
Oznaczmy <math>\delta = \sqrt{D}</math>, zatem <math>2 \alpha = P + \delta</math> i <math>2 \beta = P - \delta</math>. Ze wzoru dwumianowego, mamy
+
Z&nbsp;twierdzenia J2 wiemy, że istnieje dokładnie jedna liczba <math>c</math> (określona modulo <math>m n</math>) taka, że prawdziwy jest układ kongruencji
 
 
::<math>2^n \alpha^n = (P + \delta)^n = \sum_{j = 0}^{n} \binom{n}{j} P^{n - j} \delta^j</math>
 
 
 
::<math>2^n \beta^n = (P - \delta)^n = \sum_{j = 0}^{n} \binom{n}{j} P^{n - j} (- \delta)^j</math>
 
 
 
Obliczając sumę powyższych wzorów, otrzymujemy
 
 
 
::<math>2^n (\alpha^n + \beta^n) = \sum_{j = 0}^{n} \binom{n}{j} P^{n - j} (\delta^j + (- \delta)^j)</math>
 
 
 
:::::<math>\quad \: = \sum_{k = 0}^{\lfloor n / 2 \rfloor} \binom{n}{2 k} P^{n - 2 k} \cdot 2 \delta^{2 k}</math>
 
 
 
:::::<math>\quad \: = 2 \sum_{k = 0}^{\lfloor n / 2 \rfloor} \binom{n}{2 k} P^{n - 2 k} D^k</math>
 
 
 
gdzie <math>j = 2 k</math> i&nbsp;sumowanie przebiega od <math>k = 0</math> do <math>k = \lfloor n / 2 \rfloor</math>
 
 
 
Zatem
 
 
 
::<math>2^{n - 1} V_n = \sum_{k = 0}^{\lfloor n / 2 \rfloor} \binom{n}{2 k} P^{n - 2 k} D^k</math>
 
 
 
 
 
Obliczając różnicę tych wzorów, mamy
 
 
 
::<math>2^n (\alpha^n - \beta^n) = \sum_{j = 0}^{n} \binom{n}{j} P^{n - j} (\delta^j - (- \delta)^j)</math>
 
 
 
:::::<math>\quad \: = \sum_{k = 0}^{\lfloor (n - 1) / 2 \rfloor} \binom{n}{2 k + 1} P^{n - 2 k - 1} \cdot 2 \delta^{2 k + 1}</math>
 
 
 
:::::<math>\quad \: = 2 \delta \sum_{k = 0}^{\lfloor (n - 1) / 2 \rfloor} \binom{n}{2 k + 1} P^{n - 2 k - 1} D^k</math>
 
 
 
gdzie <math>j = 2 k + 1</math> i&nbsp;sumowanie przebiega od <math>k = 0</math> do <math>k = \lfloor (n - 1) / 2 \rfloor</math>
 
  
 +
::<math>\begin{align}
 +
c & \equiv a \pmod{m} \\
 +
c & \equiv b \pmod{n}
 +
\end{align}</math>
  
Zatem
+
Korzystając z&nbsp;tego rezultatu i&nbsp;twierdzenia J1, otrzymujemy
  
::<math>2^{n - 1} \cdot {\small\frac{\alpha^n - \beta^n}{\sqrt{D}}} = 2^{n - 1} U_n = \sum_{k = 0}^{\lfloor (n - 1) / 2 \rfloor} \binom{n}{2 k + 1} P^{n - 2 k - 1} D^k</math>
+
::<math>u \equiv c \pmod{m n} \qquad \Longleftrightarrow \qquad
 +
\begin{array}{l}
 +
  u \equiv c \; \pmod{m} \\
 +
  u \equiv c \; \pmod{n} \\
 +
\end{array} \qquad \Longleftrightarrow \qquad
 +
\begin{array}{l}
 +
  u \equiv a \; \pmod{m} \\
 +
  u \equiv b \:\, \pmod{n} \\
 +
\end{array} </math>
  
 
Co należało pokazać.<br/>
 
Co należało pokazać.<br/>
Linia 161: Linia 118:
  
  
<span style="font-size: 110%; font-weight: bold;">Uwaga L8</span><br/>
+
<span style="font-size: 110%; font-weight: bold;">Uwaga J4</span><br/>
Korzystając z&nbsp;twierdzenia L7, możemy napisać proste funkcje do znajdowania postaci kolejnych wyrazów <math>U_n (P, Q)</math> i <math>V_n (P, Q)</math>
+
Chińskie twierdzenie o&nbsp;resztach<ref name="CRT1"/> (CRT<ref name="CRT2"/>) pozostaje prawdziwe w&nbsp;przypadku układu skończonej liczby kongruencji. Założenie, że moduły <math>m</math> i <math>n</math> są względnie pierwsze, jest istotne. Przykładowo układ kongruencji
  
<span style="font-size: 90%; color:black;">U(n) = 2^(1 - n)*'''sum'''(k=0, '''floor'''((n-1)/2), '''binomial'''(n, 2*k+1) * P^(n-2*k-1) * (P^2-4*Q)^k)</span>
+
::<math>\begin{align}
 +
u &\equiv 1 \pmod{4} \\
 +
u &\equiv 3 \pmod{8}
 +
\end{align}</math>
  
<span style="font-size: 90%; color:black;">V(n) = 2^(1 - n)*'''sum'''(k=0, '''floor'''(n/2), '''binomial'''(n, 2*k) * P^(n-2*k) * (P^2-4*Q)^k)</span>
+
nie może być zapisany w&nbsp;postaci jednej równoważnej kongruencji, bo nie istnieją liczby, które spełniałyby powyższy układ jednocześnie. Łatwo zauważamy, że rozwiązaniem pierwszego równania jest <math>u = 4 k + 1</math>, które dla liczb <math>k</math> parzystych i&nbsp;nieparzystych ma postać
  
 +
::<math>u = 8 j + 1, \qquad u = 8 j + 5</math>
  
 +
i nie może być <math>u \equiv 3 \!\! \pmod{8}</math>.
  
Często możemy spotkać założenie <math>P \geqslant 1</math>. Poniższe twierdzenie wyjaśnia, dlaczego tak jest.
 
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie L9</span><br/>
 
Jeżeli <math>(U_n)</math> i <math>(V_n)</math> są ciągami Lucasa, to
 
  
::<math>U_n (- P, Q) = (- 1)^{n - 1} U_n (P, Q)</math>
+
<span style="font-size: 110%; font-weight: bold;">Zadanie J5</span><br/>
 +
Niech <math>u, a_1, \ldots, a_k \in \mathbb{Z}</math> i <math>m_1, \ldots, m_k \in \mathbb{Z}_+</math>. Pokazać, że jeżeli liczby <math>m_1, \ldots, m_k</math> są parami względnie pierwsze (czyli <math>\gcd (m_i, m_j) = 1</math> dla <math>i \neq j</math>), to istnieje dokładnie jedna liczba <math>c</math> (określona modulo <math>m_1 \cdot \ldots \cdot m_k</math>) taka, że układ kongruencji
  
::<math>V_n (- P, Q) = (- 1)^n V_n (P, Q)</math>
+
::<math>\begin{align}
 +
u & \equiv a_1 \pmod{m_1} \\
 +
  & \cdots \\
 +
u & \equiv a_k \pmod{m_k}
 +
\end{align}</math>
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
+
można zapisać w&nbsp;sposób równoważny w&nbsp;postaci kongruencji
Niech
 
  
::<math>\alpha = \frac{P + \sqrt{D}}{2} \qquad \qquad \;\; \beta = \frac{P - \sqrt{D}}{2}</math>
+
::<math>u \equiv c \;\; \pmod{m_1 \cdot \ldots \cdot m_k}</math>
  
::<math>a = \frac{- P + \sqrt{D}}{2} \qquad \qquad b = \frac{- P - \sqrt{D}}{2}</math>
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Rozwiązanie|Hide=Ukryj rozwiązanie}}
 
+
Indukcja matematyczna. Twierdzenie jest prawdziwe dla liczby <math>k = 2</math> (zobacz J3). Zakładając prawdziwość twierdzenia dla liczby naturalnej <math>k \geqslant 2</math>, dla liczby <math>k + 1</math> otrzymujemy układ kongruencji
Liczby <math>\alpha, \beta</math> oraz <math>a, b</math> są odpowiednio pierwiastkami równań
 
 
 
::<math>x^2 - P x + Q = 0</math>
 
 
 
::<math>x^2 + P x + Q = 0</math>
 
 
 
Zatem definiują one ciągi Lucasa
 
  
::<math>U_n (P, Q) = \frac{\alpha^n - \beta^n}{\alpha - \beta} \qquad \qquad \;\; V_n (P, Q) = \alpha^n + \beta^n</math>
+
::<math>\begin{align}
 +
u & \equiv c \quad \;\, \pmod{m_1 \cdot \ldots \cdot m_k} \\
 +
u & \equiv a_{k + 1} \pmod{m_{k + 1}}
 +
\end{align}</math>
  
::<math>U_n (- P, Q) = \frac{a^n - b^n}{a - b} \qquad \qquad V_n (- P, Q) = a^n + b^n</math>
+
gdzie skorzystaliśmy z&nbsp;założenia indukcyjnego. Z&nbsp;twierdzenia J3 wynika, że układ ten można zapisać w&nbsp;sposób równoważny w&nbsp;postaci kongruencji
  
Zauważmy, że
+
::<math>u \equiv c' \pmod{m_1 \cdot \ldots \cdot m_k m_{k + 1}}</math>
  
::<math>\alpha - \beta = a - b = \sqrt{D}</math>
+
gdzie liczba <math>c'</math> jest dokładnie jedna i&nbsp;jest określona modulo <math>m_1 \cdot \ldots \cdot m_k m_{k + 1}</math>. Zatem twierdzenie jest prawdziwe dla <math>k + 1</math>. Co kończy dowód indukcyjny.<br/>
 
 
::<math>\frac{a}{\beta} = \frac{b}{\alpha} = - 1</math>
 
 
 
Łatwo znajdujemy
 
 
 
::<math>U_n (- P, Q) = \frac{a^n - b^n}{a - b} = \frac{(- \beta)^n - (- \alpha)^n}{\sqrt{D}} = (- 1)^n \cdot \frac{\beta^n - \alpha^n}{\alpha - \beta} = (- 1)^{n - 1} \cdot U_n (P, Q)</math>
 
 
 
::<math>V_n (- P, Q) = a^n + b^n = (- \beta)^n + (- \alpha)^n = (- 1)^n \cdot (\alpha^n + \beta^n) = (- 1)^n \cdot V_n (P, Q)</math>
 
 
 
Co należało pokazać.<br/>
 
 
&#9633;
 
&#9633;
 
{{\Spoiler}}
 
{{\Spoiler}}
Linia 216: Linia 165:
  
  
<span style="font-size: 110%; font-weight: bold;">Zadanie L10</span><br/>
+
<span style="font-size: 110%; font-weight: bold;">Przykład J6</span><br/>
Pokazać, że jeżeli <math>P, Q \in \mathbb{Z} \setminus \{ 0 \}</math> i <math>D = P^2 - 4 Q \neq 0</math>, to
+
Dysponujemy pewną ilością kulek. Grupując je po <math>5</math>, zostają nam <math>3</math>, a&nbsp;kiedy próbujemy ustawić je po <math>7</math>, zostają nam <math>4</math>. Jaka najmniejsza ilość kulek spełnia te warunki? Rozważmy układ kongruencji
  
::<math>U_n (2 P, 4 Q) = 2^{n - 1} U_n (P, Q)</math>
+
::<math>\begin{align}
 +
n &\equiv 3 \pmod{5} \\
 +
n &\equiv 4 \pmod{7}
 +
\end{align}</math>
  
::<math>V_n (2 P, 4 Q) = 2^n V_n (P, Q)</math>
+
Z chińskiego twierdzenia o&nbsp;resztach wiemy, że powyższy układ możemy zapisać w&nbsp;postaci równoważnej kongruencji modulo <math>35</math>. Jeśli chcemy zaoszczędzić sobie trudu, to wystarczy skorzystać z&nbsp;PARI/GP. Wpisując proste polecenie
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Rozwiązanie|Hide=Ukryj rozwiązanie}}
+
<span style="font-size: 90%; color:black;">chinese( Mod(3,5), Mod(4,7) )</span>
Niech
 
 
 
::<math>\alpha = {\small\frac{P + \sqrt{D}}{2}} \qquad \qquad \;\; \beta = {\small\frac{P - \sqrt{D}}{2}}</math>
 
 
 
::<math>a = P + \sqrt{D} \qquad \qquad \;\; b = P - \sqrt{D}</math>
 
  
Liczby <math>\alpha, \beta</math> oraz <math>a, b</math> są odpowiednio pierwiastkami równań
+
uzyskujemy wynik <code>Mod(18, 35)</code>, zatem równoważna kongruencja ma postać
  
::<math>x^2 - P x + Q = 0</math>
+
::<math>n \equiv 18 \pmod{35}</math>
  
::<math>x^2 - 2 P x + 4 Q = 0</math>
+
Jest to zarazem odpowiedź na postawione pytanie: najmniejsza liczba kulek wynosi <math>18</math>.
  
Zatem definiują one ciągi Lucasa
+
Gdybyśmy chcieli rozważać bardziej rozbudowany układ kongruencji, przykładowo
  
::<math>U_n (P, Q) = {\small\frac{\alpha^n - \beta^n}{\alpha - \beta}} \qquad \qquad \;\;\; V_n (P, Q) = \alpha^n + \beta^n</math>
+
::<math>\begin{align}
 +
n &\equiv 1 \pmod{2} \\
 +
n &\equiv 2 \pmod{3} \\
 +
n &\equiv 3 \pmod{5} \\
 +
n &\equiv 4 \pmod{7} \\
 +
n &\equiv 5 \pmod{11}
 +
\end{align}</math>
  
::<math>U_n (2 P, 4 Q) = {\small\frac{a^n - b^n}{a - b}} \qquad \qquad V_n (2 P, 4 Q) = a^n + b^n</math>
+
to argumenty należy zapisać w&nbsp;postaci wektora
  
Zauważmy, że
+
<span style="font-size: 90%; color:black;">chinese( [Mod(1,2), Mod(2,3), Mod(3,5), Mod(4,7), Mod(5,11)] )</span>
  
::<math>\alpha - \beta = \sqrt{D}</math>
+
Otrzymujemy <code>Mod(1523, 2310)</code>.
  
::<math>a - b = 2 \sqrt{D}</math>
 
  
::<math>{\small\frac{a}{\alpha}} = {\small\frac{b}{\beta}} = 2</math>
 
  
Łatwo znajdujemy
 
  
::<math>U_n (2 P, 4 Q) = {\small\frac{a^n - b^n}{a - b}} = {\small\frac{(2 \alpha)^n - (2 \beta)^n}{2 \sqrt{D}}} = 2^{n - 1} \cdot {\small\frac{\alpha^n - \beta^n}{\alpha - \beta}} = 2^{n - 1} U_n (P, Q)</math>
 
  
::<math>V_n (2 P, 4 Q) = a^n + b^n = (2 \alpha)^n + (2 \beta)^n = 2^n (\alpha^n + \beta^n) = 2^n V_n (P, Q)</math>
+
== Wielomiany ==
  
Co należało pokazać.<br/>
+
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J7</span><br/>
&#9633;
+
Niech <math>W_n (x)</math> będzie dowolnym wielomianem stopnia <math>n</math>. Wielomian <math>W_n (x)</math> można przedstawić w&nbsp;postaci
{{\Spoiler}}
 
  
 +
::<math>W_n (x) = W_n (s) + (x - s) V_{n - 1} (x)</math>
  
 +
gdzie <math>V_{n - 1} (x)</math> jest wielomianem stopnia <math>n - 1</math>, a&nbsp;współczynniki wiodące wielomianów <math>W_n (x)</math> i <math>V_{n - 1} (x)</math> są sobie równe.
  
<span style="font-size: 110%; font-weight: bold;">Zadanie L11</span><br/>
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
Pokazać, że jeżeli <math>Q \in \mathbb{Z} \setminus \{ 0 \}</math> oraz <math>P = 4 Q - 1</math>, to
+
Z założenia <math>W_n (x) = \sum_{k = 0}^{n} a_k x^k</math>, gdzie <math>a_n \neq 0</math>. Zauważmy, że
  
::<math>U_{2 k} (P, P Q) = - (- P)^k U_{2 k} (1, Q)</math>
+
::<math>W_n (x) - W_n (s) = \sum_{k = 0}^{n} a_k x^k - \sum_{k = 0}^{n} a_k s^k</math>
  
::<math>U_{2 k + 1} (P, P Q) = (- P)^k V_{2 k + 1} (1, Q)</math>
+
::::::<math>\quad \; = \sum_{k = 1}^{n} a_k (x^k - s^k)</math>
  
::<math>V_{2 k} (P, P Q) = (- P)^k V_{2 k} (1, Q)</math>
+
Dla <math>k \geqslant 1</math> prawdziwy jest wzór
  
::<math>V_{2 k + 1} (P, P Q) = - (- P)^{k + 1} U_{2 k + 1} (1, Q)</math>
+
::<math>x^k - s^k = (x - s) \sum_{j = 1}^{k} x^{k - j} s^{j - 1}</math>
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Rozwiązanie|Hide=Ukryj rozwiązanie}}
+
::::<math>\;\,\, = (x - s) (x^{k - 1} + s x^{k - 2} + \ldots + s^{k - 2} x + s^{k - 1})</math>
Niech
 
  
::<math>\alpha = {\small\frac{1 + \sqrt{- P}}{2}} \qquad \qquad \beta = {\small\frac{1 - \sqrt{- P}}{2}}</math>
+
::::<math>\;\,\, = (x - s) U^{(k)} (x)</math>
  
::<math>a = {\small\frac{P + \sqrt{- P}}{2}} \qquad \qquad b = {\small\frac{P - \sqrt{- P}}{2}}</math>
+
Gdzie przez <math>U^{(k)} (x) = \sum_{j = 1}^{k} x^{k - j} s^{j - 1}</math> oznaczyliśmy wielomian, którego stopień jest równy <math>k - 1</math>. Zatem możemy napisać
  
Liczby <math>\alpha, \beta</math> oraz <math>a, b</math> są odpowiednio pierwiastkami równań
+
::<math>W_n (x) - W_n (s) = (x - s) \sum_{k = 1}^{n} a_k U^{(k)} (x)</math>
  
::<math>x^2 - x + {\small\frac{P + 1}{4}} = 0</math>
+
Suma wypisana po prawej stronie jest pewnym wielomianem <math>V_{n - 1} (x)</math>. Ponieważ ze wszystkich wielomianów <math>a_k U^{(k)} (x)</math>, wielomian <math>a_n U^{(n)} (x)</math> ma największy stopień równy <math>n - 1</math>, to stopień wielomianu <math>V_{n - 1} (x)</math> jest równy <math>n - 1</math>. Czyli
  
::<math>x^2 - P x + {\small\frac{P (P + 1)}{4}} = 0</math>
+
::<math>W_n (x) - W_n (s) = (x - s) V_{n - 1} (x)</math>
  
Z założenia <math>P = 4 Q - 1</math>, zatem
+
Niech <math>V_n (x) = \sum_{k = 0}^{n - 1} b_k x^k</math>. Mamy
  
::<math>x^2 - x + Q = 0</math>
+
::<math>\sum_{k = 0}^{n} a_k x^k - W_n (s) = \sum_{k = 0}^{n - 1} b_k x^{k + 1} - s \sum_{k = 0}^{n - 1} b_k x^k</math>
  
::<math>x^2 - P x + P Q = 0</math>
+
Porównując wyrazy o&nbsp;największym stopniu, łatwo zauważamy, że <math>a_n = b_{n - 1}</math>. Czyli współczynnik wiodący wielomianu <math>V_{n - 1} (x)</math> jest równy <math>a_n</math>. Co należało pokazać.<br/>
 +
&#9633;
 +
{{\Spoiler}}
  
Czyli definiują one ciągi Lucasa
 
  
::<math>U_n (1, Q) = {\small\frac{\alpha^n - \beta^n}{\alpha - \beta}} \qquad \qquad \:\:\: V_n (1, Q) = \alpha^n + \beta^n</math>
 
  
::<math>U_n (P, P Q) = {\small\frac{a^n - b^n}{a - b}} \qquad \qquad V_n (P, P Q) = a^n + b^n</math>
+
<span style="font-size: 110%; font-weight: bold;">Definicja J8</span><br/>
 +
Wielomian <math>W_n (x) = \sum_{k = 0}^{n} a_k x^k</math>, gdzie <math>a_0, \ldots, a_n \in \mathbb{Z}</math> oraz <math>a_n \neq 0</math>, będziemy nazywali wielomianem całkowitym stopnia <math>n</math>.
  
Zauważmy, że
 
  
::<math>\alpha - \beta = a - b = \sqrt{- P}</math>
 
  
::<math>{\small\frac{a}{\beta}} = {\small\frac{P + \sqrt{- P}}{1 - \sqrt{- P}}} = \sqrt{- P}</math>
+
<span style="font-size: 110%; font-weight: bold;">Definicja J9</span><br/>
 +
Powiemy, że wielomian całkowity <math>W_n (x) = \sum_{k = 0}^{n} a_k x^k</math> jest stopnia <math>n</math> modulo <math>p</math>, gdzie <math>p</math> jest liczbą pierwszą, jeżeli <math>p \nmid a_n</math>. Jeżeli każdy współczynnik <math>a_k</math>, gdzie <math>k = 0, 1, \ldots, n</math>, jest podzielny przez <math>p</math>, to stopień wielomianu <math>W_n (x)</math> modulo <math>p</math> jest nieokreślony.
  
::<math>{\small\frac{b}{\alpha}} = {\small\frac{P - \sqrt{- P}}{1 + \sqrt{- P}}} = - \sqrt{- P}</math>
 
  
  
Łatwo znajdujemy
+
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J10</span><br/>
 +
Niech <math>W_n (x) = \sum_{k = 0}^{n} a_k x^k</math> będzie wielomianem całkowitym i <math>m \in \mathbb{Z}_+</math>. Jeżeli prawdziwa jest kongruencja <math>x \equiv y \!\! \pmod{m}</math>, to
  
::<math>U_{2 k} (P, P Q) = \frac{a^{2 k} - b^{2 k}}{a - b} = \frac{\left( \beta \sqrt{- P} \right)^{2 k} - \left( - \alpha \sqrt{- P} \right)^{2 k}}{\sqrt{- P}} = \frac{(- P)^k (\beta^{2 k} - \alpha^{2 k})}{\alpha - \beta} = - (- P)^k U_{2 k} (1, Q)</math>
+
::<math>W_n (x) \equiv W_n (y) \pmod{m}</math>
  
 +
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 +
Dla <math>k \geqslant 1</math> wyrażenie <math>x^k - y^k</math> jest podzielne przez <math>x - y</math>, co łatwo pokazać stosując indukcję matematyczną lub zauważając, że
  
::<math>U_{2 k + 1} (P, P Q) = \frac{a^{2 k + 1} - b^{2 k + 1}}{a - b} = \frac{\left( \beta \sqrt{- P} \right)^{2 k + 1} - \left( - \alpha \sqrt{- P} \right)^{2 k + 1}}{\sqrt{- P}} = (- P)^k (\beta^{2 k + 1} + \alpha^{2 k + 1}) = (- P)^k V_{2 k + 1} (1, Q)</math>
+
::<math>x^k - y^k = (x - y) \sum_{j = 1}^{k} x^{k - j} y^{j - 1}</math>
  
 +
Z założenia <math>m \mid (x - y)</math>, zatem dla <math>k \geqslant 1</math> mamy <math>m \mid (x^k - y^k)</math>. Wynika stąd, że prawdziwe są kongruencje
  
::<math>V_{2 k} (P, P Q) = a^{2 k} + b^{2 k} = \left( \beta \sqrt{- P} \right)^{2 k} + \left( - \alpha \sqrt{- P} \right)^{2 k} = (- P)^k (\alpha^{2 k} + \beta^{2 k}) = (- P)^k V_{2 k} (1, Q)</math>
+
::<math>\begin{align}
 +
  a_0 & \equiv a_0 \;\;\:\, \pmod{m}\\
 +
  a_1 x & \equiv a_1 y \;\, \pmod{m}\\
 +
  a_2 x^2 & \equiv a_2 y^2 \pmod{m}\\
 +
  & \cdots \\
 +
  a_n x^n & \equiv a_n y^n \pmod{m}
 +
\end{align}</math>
  
 +
Dodając wypisane kongruencje stronami, otrzymujemy
  
::<math>V_{2 k + 1} (P, P Q) = a^{2 k + 1} + b^{2 k + 1} = \left( \beta \sqrt{- P} \right)^{2 k + 1} + \left( - \alpha \sqrt{- P} \right)^{2 k + 1} = (- P)^{k + 1} \cdot \frac{\beta^{2 k + 1} - \alpha^{2 k + 1}}{\sqrt{- P}} = - (- P)^{k + 1} U_{2 k + 1} (1, Q)</math>
+
::<math>W_n (x) \equiv W_n (y) \pmod{m}</math>
  
 
Co należało pokazać.<br/>
 
Co należało pokazać.<br/>
Linia 326: Linia 285:
  
  
<span style="font-size: 110%; font-weight: bold;">Zadanie L12</span><br/>
+
<span style="font-size: 110%; font-weight: bold;">Uwaga J11</span><br/>
Pokazać, że jeżeli <math>Q \in \mathbb{Z} \setminus \{ 0 \}</math> oraz <math>P = 4 Q + 1</math>, to
+
Niech <math>W(x)</math> będzie wielomianem całkowitym. Rozważmy kongruencję
  
::<math>U_{2 k} (P, P Q) = P^k U_{2 k} (1, - Q)</math>
+
::<math>W(x) \equiv 0 \pmod{m n} \qquad \qquad \qquad (1)</math>
  
::<math>U_{2 k + 1} (P, P Q) = P^k V_{2 k + 1} (1, - Q)</math>
+
gdzie liczby <math>m</math> i <math>n</math> są względnie pierwsze.
  
::<math>V_{2 k} (P, P Q) = P^k V_{2 k} (1, - Q)</math>
+
Kongruencja ta jest równoważna układowi kongruencji
  
::<math>V_{2 k + 1} (P, P Q) = P^{k + 1} U_{2 k + 1} (1, - Q)</math>
+
::<math>\begin{align}
 +
  W (x) &\equiv 0 \pmod{m}\\
 +
  W (x) &\equiv 0 \pmod{n}
 +
\end{align} \qquad \qquad \qquad \; (2)</math>
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Rozwiązanie|Hide=Ukryj rozwiązanie}}
+
Zatem problem szukania rozwiązań kongruencji <math>(1)</math> możemy sprowadzić do szukania rozwiązań układu kongruencji <math>(2)</math>. W&nbsp;szczególności wynika stąd, że jeżeli któraś z&nbsp;kongruencji <math>(2)</math> nie ma rozwiązania, to kongruencja <math>W(x) \equiv 0 \!\! \pmod{m n}</math> również nie ma rozwiązania.
Niech
 
  
::<math>\alpha = {\small\frac{1 + \sqrt{P}}{2}} \qquad \qquad \beta = {\small\frac{1 - \sqrt{P}}{2}}</math>
+
Załóżmy, że każda z&nbsp;kongruencji <math>(2)</math> ma przynajmniej jedno rozwiązanie i&nbsp;niech
  
::<math>a = {\small\frac{P + \sqrt{P}}{2}} \qquad \qquad b = {\small\frac{P - \sqrt{P}}{2}}</math>
+
:* <math>x \equiv a \!\! \pmod{m}</math> będzie pierwiastkiem kongruencji <math>W (x) \equiv 0 \!\! \pmod{m}</math>
 +
:* <math>x \equiv b \!\! \pmod{n}</math> będzie pierwiastkiem kongruencji <math>W (x) \equiv 0 \!\! \pmod{n}</math>
  
Liczby <math>\alpha, \beta</math> oraz <math>a, b</math> są odpowiednio pierwiastkami równań
+
Pierwiastki te tworzą układ kongruencji
  
::<math>x^2 - x - {\small\frac{P - 1}{4}} = 0</math>
+
::<math>\begin{align}
 +
x &\equiv a \pmod{m} \\
 +
x &\equiv b \pmod{n}
 +
\end{align} \qquad \qquad \qquad \qquad (3)</math>
  
::<math>x^2 - P x + {\small\frac{P (P - 1)}{4}} = 0</math>
+
Z chińskiego twierdzenia o&nbsp;resztach wiemy, że układ ten możemy zapisać w&nbsp;postaci równoważnej
  
Z założenia <math>P = 4 Q + 1</math>, zatem
+
::<math>x \equiv c \pmod{m n}</math>
  
::<math>x^2 - x - Q = 0</math>
+
Zauważmy, że liczba <math>c</math> określona modulo <math>m n</math> jest rozwiązaniem kongruencji <math>(1)</math>. Istotnie z&nbsp;twierdzenia J10 mamy
  
::<math>x^2 - P x + P Q = 0</math>
+
::<math>\begin{align}
 +
  W (c) &\equiv W (a) \equiv 0 \pmod{m} \\
 +
  W (c) &\equiv W (b) \equiv 0 \pmod{n}
 +
\end{align}</math>
  
Czyli definiują one ciągi Lucasa
+
ale liczby <math>m, n</math> są względnie pierwsze, zatem otrzymujemy, że
  
::<math>U_n (1, - Q) = {\small\frac{\alpha^n - \beta^n}{\alpha - \beta}} \qquad \qquad V_n (1, - Q) = \alpha^n + \beta^n</math>
+
::<math>W (c) \equiv 0 \pmod{m n}</math>
  
::<math>U_n (P, P Q) = {\small\frac{a^n - b^n}{a - b}} \qquad \qquad V_n (P, P Q) = a^n + b^n</math>
+
Wynika stąd, że każdemu układowi rozwiązań <math>(3)</math> odpowiada dokładnie jedno rozwiązanie kongruencji <math>(1)</math>.
 
 
Zauważmy, że
 
 
 
::<math>\alpha - \beta = a - b = \sqrt{P}</math>
 
 
 
::<math>{\small\frac{a}{\alpha}} = {\small\frac{P + \sqrt{P}}{1 + \sqrt{P}}} = \sqrt{P}</math>
 
 
 
::<math>{\small\frac{b}{\beta}} = {\small\frac{P - \sqrt{P}}{1 - \sqrt{P}}} = - \sqrt{P}</math>
 
  
 +
Podsumujmy: jeżeli kongruencje
  
Łatwo znajdujemy
+
::<math>\begin{align}
 +
  W (x) &\equiv 0 \pmod{m}\\
 +
  W (x) &\equiv 0 \pmod{n}
 +
\end{align}</math>
  
::<math>U_{2 k} (P, P Q) = \frac{a^{2 k} - b^{2 k}}{a - b} = \frac{\left( \alpha \sqrt{P} \right)^{2 k} - \left( - \beta \sqrt{P} \right)^{2 k}}{\sqrt{P}} = \frac{P^k (\alpha^{2 k} - \beta^{2 k})}{\alpha - \beta} = P^k U_{2 k} (1, - Q)</math>
+
mają odpowiednio <math>r</math> i <math>s</math> pierwiastków, to liczba różnych układów kongruencji <math>(3)</math> jest równa iloczynowi <math>r s</math> i&nbsp;istnieje <math>r s</math> różnych rozwiązań kongruencji
  
 +
::<math>W(x) \equiv 0 \pmod{m n}</math>
  
::<math>U_{2 k + 1} (P, P Q) = \frac{a^{2 k + 1} - b^{2 k + 1}}{a - b} = \frac{\left( \alpha \sqrt{P} \right)^{2 k + 1} - \left( - \beta \sqrt{P} \right)^{2 k + 1}}{\sqrt{P}} = P^k (\alpha^{2 k + 1} + \beta^{2 k + 1}) = P^k V_{2 k + 1} (1, - Q)</math>
 
  
  
::<math>V_{2 k} (P, P Q) = a^{2 k} + b^{2 k} = \left( \alpha \sqrt{P} \right)^{2 k} + \left( - \beta \sqrt{P} \right)^{2 k} = P^k (\alpha^{2 k} + \beta^{2 k}) = P^k V_{2 k} (1, - Q)</math>
 
  
  
::<math>V_{2 k + 1} (P, P Q) = a^{2 k + 1} + b^{2 k + 1} = \left( \alpha \sqrt{P} \right)^{2 k + 1} + \left( - \beta \sqrt{P} \right)^{2 k + 1} = P^{k + 1} \cdot \frac{\alpha^{2 k + 1} - \beta^{2 k + 1}}{\sqrt{P}} = P^{k + 1} U_{2 k + 1} (1, - Q)</math>
+
== Twierdzenie Lagrange'a ==
  
Co należało pokazać.<br/>
+
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J12</span><br/>
&#9633;
+
Kongruencja
{{\Spoiler}}
 
  
 +
::<math>a_1 x + a_0 \equiv 0 \pmod{p}</math>
  
 
+
gdzie <math>p \nmid a_1</math>, ma dokładnie jedno rozwiązanie modulo <math>p</math>.
<span style="font-size: 110%; font-weight: bold;">Twierdzenie L13</span><br/>
 
Dla wyrazów ciągów Lucasa prawdziwe są wzory
 
 
 
{| class="wikitable plainlinks"  style="display: inline-table; margin-left: 5px; margin-right: 50px; font-size: 100%; text-align: left;"
 
|-
 
| <math>1.</math> || <math>U_{m + n} = U_m U_{n + 1} - Q U_{m - 1} U_n</math> ||
 
|-
 
| <math>2.</math> || <math>V_{m + n} = V_m V_n - Q^n V_{m - n}</math> || <math>m \geqslant n</math>
 
|-
 
| <math>3.</math> || <math>U_{m + n} = U_m V_n - Q^n U_{m - n}</math> || <math>m \geqslant n</math>
 
|-
 
| <math>4.</math> || <math>V_{m + n} = D U_m U_n + Q^n V_{m - n}</math> || <math>m \geqslant n</math>
 
|-
 
| <math>5.</math> || <math>U_m V_n - V_m U_n = 2 Q^n U_{m - n}</math> || <math>m \geqslant n</math>
 
|-
 
| <math>6.</math> || <math>U^2_n = U_{n - 1} U_{n + 1} + Q^{n - 1}</math> ||
 
|-
 
| <math>7.</math> || <math>V^2_n = V_{n - 1} V_{n + 1} - D Q^{n - 1}</math> ||
 
|}
 
{| class="wikitable plainlinks"  style="display: inline-table; margin-left: 5px; margin-right: 50px; font-size: 100%; text-align: left;"
 
|-
 
| <math>\;\; 8.</math> || <math>2 U_{m + n} = U_m V_n + V_m U_n</math> ||
 
|-
 
| <math>\;\; 9.</math> || <math>2 V_{m + n} = V_m V_n + D U_m U_n</math> ||
 
|-
 
| <math>10.</math> || <math>V_m V_n - D U_m U_n = 2 Q^n V_{m - n}</math> || <math>m \geqslant n</math>
 
|-
 
| <math>11.</math> || <math>U_{2 n} = U_n V_n</math> ||
 
|-
 
| <math>12.</math> || <math>V_{2 n} = V^2_n - 2 Q^n</math> ||
 
|-
 
| <math>13.</math> || <math>V_{2 n} = D U^2_n + 2 Q^n</math> ||
 
|-
 
| <math>14.</math> || <math>V^2_n - D U^2_n = 4 Q^n</math> ||
 
|-
 
| <math>15.</math> || <math>D U_n = 2 V_{n + 1} - P V_n</math> ||
 
|-
 
| <math>16.</math> || <math>V_n = 2 U_{n + 1} - P U_n</math> ||
 
|-
 
| <math>17.</math> || <math>D U_n = V_{n + 1} - Q V_{n - 1}</math> || <math>n \geqslant 1</math>
 
|-
 
| <math>18.</math> || <math>V_n = U_{n + 1} - Q U_{n - 1}</math> || <math>n \geqslant 1</math>
 
|}
 
{| class="wikitable plainlinks"  style="display: inline-table; margin-left: 5px; margin-right: 50px; font-size: 100%; text-align: left;"
 
|-
 
| <math>19.</math> || <math>U_{2 n} = 2 U_n U_{n + 1} - P U^2_n</math>
 
|-
 
| <math>20.</math> || <math>U_{2 n + 1} = U^2_{n + 1} - Q U^2_n</math>
 
|-
 
| <math>21.</math> || <math>U_{2 n + 2} = P U^2_{n + 1} - 2 Q U_n U_{n + 1}</math>
 
|}
 
  
 
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
'''Wzory 1. - 7. najłatwiej udowodnić korzystając z&nbsp;definicji L1.'''
 
  
Wzór 1.
+
'''A. Istnienie rozwiązania'''
  
::<math>U_{m + n} = {\small\frac{\alpha^{m + n} - \beta^{m + n}}{\alpha - \beta}}</math>
+
Ponieważ rozpatrywaną kongruencję możemy zapisać w&nbsp;postaci <math>a_1 x + a_0 = k p</math>, to istnienie liczb <math>x</math> i <math>k</math>, dla których ta równość jest prawdziwa, wynika z&nbsp;twierdzenia C76. Poniżej przedstawimy jeszcze jeden sposób znalezienia rozwiązania.
  
:::<math>\quad \: = {\small\frac{\alpha^m - \beta^m}{\alpha - \beta}} \cdot {\small\frac{\alpha^{n + 1} - \beta^{n + 1}}{\alpha - \beta}} - \alpha \beta \cdot {\small\frac{\alpha^{m - 1} - \beta^{m - 1}}{\alpha - \beta}} \cdot {\small\frac{\alpha^n - \beta^n}{\alpha - \beta}}</math>
+
Ponieważ <math>\gcd (a_1, p) = 1</math>, to istnieją takie liczby <math>r, s</math>, że <math>a_1 r + p s = 1</math> (zobacz C73 - lemat Bézouta). Zauważmy, że <math>p \nmid r</math>, bo gdyby tak było, to liczba pierwsza <math>p</math> dzieliłaby wyrażenie <math>a_1 r + p s</math>, ale jest to niemożliwe, bo <math>a_1 r + p s = 1</math>. Czyli modulo <math>p</math> mamy
  
:::<math>\quad \: = U_m U_{n + 1} - Q U_{m - 1} U_n</math>
+
::<math>a_1 r \equiv 1 \pmod{p}</math>
  
 +
Mnożąc rozpatrywaną kongruencję przez <math>r</math>, otrzymujemy
  
Wzór 2.
+
::<math>a_1 r x + a_0 r \equiv 0 \pmod{p}</math>
  
::<math>V_{m + n} = \alpha^{m + n} + \beta^{m + n}</math>
+
Zatem
  
:::<math>\quad \;\! = (\alpha^m + \beta^m) (\alpha^n + \beta^n) - \alpha^n \beta^n \cdot (\alpha^{m - n} + \beta^{m - n})</math>
+
::<math>x \equiv - a_0 r \pmod{p}</math>
  
:::<math>\quad \;\! = V_m V_n - Q^n V_{m - n}</math>
+
'''B. Brak innych rozwiązań'''
  
 +
Przypuśćmy, że istnieją dwa różne rozwiązania kongruencji
  
Wzór 3.
+
::<math>a_1 x + a_0 \equiv 0 \pmod{p}</math>
  
::<math>U_{m + n} = {\small\frac{\alpha^{m + n} - \beta^{m + n}}{\alpha - \beta}}</math>
+
Jeśli oznaczymy je przez <math>x_1</math> i <math>x_2</math>, to otrzymamy
  
:::<math>\quad \: = {\small\frac{(\alpha^m - \beta^m) (\alpha^n + \beta^n)}{\alpha - \beta}} - {\small\frac{\alpha^n \beta^n \cdot (\alpha^{m - n} - \beta^{m - n})}{\alpha - \beta}}</math>
+
::<math>a_1 x_1 + a_0 \equiv 0 \equiv a_1 x_2 + a_0 \pmod{p}</math>
  
:::<math>\quad \: = U_m V_n - Q^n U_{m - n}</math>
+
Czyli
  
 +
::<math>a_1 x_1 \equiv a_1 x_2 \pmod{p}</math>
  
Wzór 4.
+
::<math>p \mid a_1 (x_1 - x_2)</math>
  
::<math>V_{m + n} = \alpha^{m + n} + \beta^{m + n}</math>
+
Ponieważ <math>p \nmid a_1</math>, to z&nbsp;lematu Euklidesa (C74) otrzymujemy natychmiast <math>p \mid (x_1 - x_2)</math>. Skąd wynika, że <math>x_1 \equiv x_2 \!\! \pmod{p}</math>, wbrew założeniu, że <math>x_1</math> i <math>x_2</math> są dwoma różnymi rozwiązaniami. Co kończy dowód.<br/>
 +
&#9633;
 +
{{\Spoiler}}
  
:::<math>\quad \;\! = (\alpha - \beta)^2 \cdot {\small\frac{\alpha^m - \beta^m}{\alpha - \beta}} \cdot {\small\frac{\alpha^n - \beta^n}{\alpha - \beta}} + \alpha^n \beta^n \cdot (\alpha^{m - n} + \beta^{m - n})</math>
 
  
:::<math>\quad \;\! = D U_m U_n + Q^n V_{m - n}</math>
 
  
 +
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J13 (Joseph Louis Lagrange, 1768)</span><br/>
 +
Jeżeli wielomian <math>W_n (x) = \sum_{k = 0}^{n} a_k x^k</math> ma stopień <math>n</math> modulo <math>p</math>, gdzie <math>n \geqslant 1</math>, to kongruencja
  
Wzór 5.
+
::<math>W_n (x) \equiv 0 \pmod{p}</math>
  
::<math>U_m V_n - V_m U_n = {\small\frac{\alpha^m - \beta^m}{\alpha - \beta}} \cdot (\alpha^n + \beta^n) - (\alpha^m + \beta^m) \cdot {\small\frac{\alpha^n - \beta^n}{\alpha - \beta}}</math>
+
ma co najwyżej <math>n</math> rozwiązań.
  
::::::<math>\;\;\: = 2 \cdot \alpha^n \beta^n \cdot {\small\frac{\alpha^{m - n} - \beta^{m - n}}{\alpha - \beta}}</math>
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 +
Indukcja matematyczna. Z&nbsp;J12 wiemy, że dowodzone twierdzenie jest prawdziwe dla <math>n = 1</math>. Załóżmy, że twierdzenie jest prawdziwe dla wszystkich liczb całkowitych dodatnich nie większych od <math>n - 1</math>. Niech wielomian <math>W_n (x)</math> ma stopień <math>n</math> modulo <math>p</math>. Jeżeli kongruencja
  
::::::<math>\;\;\: = 2 Q^n U_{m - n}</math>
+
::<math>W_n (x) \equiv 0 \pmod{p}</math>
  
 +
nie ma żadnego rozwiązania, to dowodzone twierdzenie jest prawdziwe dla <math>n</math>. Przypuśćmy teraz, że wypisana wyżej kongruencja ma przynajmniej jeden pierwiastek <math>x \equiv s \!\! \pmod{p}</math>. Korzystając z&nbsp;twierdzenia J7, możemy napisać
  
Wzór 6.
+
::<math>W_n (x) - W_n (s) = (x - s) V_{n - 1} (x)</math>
  
::<math>U^2_n = \left( {\small\frac{\alpha^n - \beta^n}{\alpha - \beta}} \right)^2</math>
+
gdzie wielomian <math>V_{n - 1} (x)</math> ma stopień <math>n - 1</math> modulo <math>p</math>, bo wielomiany <math>W_n (x)</math> oraz <math>V_{n - 1} (x)</math> mają jednakowe współczynniki wiodące.
  
:::<math>\;\! = {\small\frac{\alpha^{n - 1} - \beta^{n - 1}}{\alpha - \beta}} \cdot {\small\frac{\alpha^{n + 1} - \beta^{n + 1}}{\alpha - \beta}} + \alpha^{n - 1} \beta^{n - 1}</math>
 
  
:::<math>\;\! = U_{n - 1} U_{n + 1} + Q^{n - 1}</math>
+
Z założenia <math>x \equiv s \!\! \pmod{p}</math> jest jednym z&nbsp;pierwiastków kongruencji <math>W_n (x) \equiv 0 \!\! \pmod{p}</math>, zatem modulo <math>p</math> otrzymujemy
  
 +
::<math>W_n (x) \equiv (x - s) V_{n - 1} (x) \pmod{p}</math>
  
Wzór 7.
+
Ponieważ <math>p</math> jest liczbą pierwszą, to z&nbsp;rozpatrywanej kongruencji
  
::<math>V^2_n = (\alpha^n + \beta^n)^2</math>
+
::<math>W_n (x) \equiv 0 \pmod{p}</math>
  
:::<math>\;\! = (\alpha^{n - 1} + \beta^{n - 1}) (\alpha^{n + 1} + \beta^{n + 1}) - (\alpha - \beta)^2 \cdot \alpha^{n - 1} \beta^{n - 1}</math>
+
wynika, że musi być (zobacz C74)
  
:::<math>\;\! = V_{n - 1} V_{n + 1} - D Q^{n - 1}</math>
+
::<math>x \equiv s \pmod{p} \qquad \qquad \text{lub} \qquad \qquad V_{n - 1} (x) \equiv 0 \pmod{p}</math>
  
  
'''Wzory 8. - 18. można łatwo udowodnić, korzystając ze wzorów 1. - 7.'''
+
Z założenia indukcyjnego kongruencja
  
Wzór 8. Policzyć sumę wzoru 3. pomnożonego przez <math>2</math> i&nbsp;wzoru 5.
+
::<math>V_{n - 1} (x) \pmod{p}</math>
  
Wzór 9. Policzyć sumę wzorów 2. i 4.
+
ma co najwyżej <math>n - 1</math> rozwiązań, zatem kongruencja
  
Wzór 10. Połączyć wzory 2. i 4.
+
::<math>W_n (x) \equiv 0 \pmod{p}</math>
  
Wzór 11. We wzorze 3. położyć <math>m = n</math>.
+
ma nie więcej niż <math>n</math> rozwiązań. Co należało pokazać.<br/>
 +
&#9633;
 +
{{\Spoiler}}
  
Wzór 12. We wzorze 2. położyć <math>m = n</math>.
 
  
Wzór 13. We wzorze 4. położyć <math>m = n</math>.
 
  
Wzór 14. We wzorze 10. położyć <math>m = n</math> lub połączyć wzory 12. i 13.
+
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J14</span><br/>
 +
Jeżeli kongruencja
  
Wzór 15. We wzorze 9. położyć <math>m = 1</math>.
+
::<math>a_n x^n + a_{n - 1} x^{n - 1} + \ldots + a_1 x + a_0 \equiv 0 \pmod{p}</math>
  
Wzór 16. We wzorze 8. położyć <math>m = 1</math>.
+
ma więcej niż <math>n</math> rozwiązań, to wszystkie współczynniki <math>a_k</math>, gdzie <math>k = 0, \ldots, n</math>, muszą być podzielne przez <math>p</math>.
  
Wzór 17. We wzorze 15. położyć <math>V_{n + 1} = P V_n - Q V_{n - 1}</math>.
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 +
Niech <math>S \subset \{ 0, 1, \ldots, n \}</math> będzie zbiorem takim, że dla każdego <math>k \in S</math> jest <math>p \nmid a_k</math>. Przypuśćmy, że <math>S</math> jest zbiorem niepustym. Niech <math>j</math> oznacza największy element zbioru <math>S</math>. Jeżeli <math>j = 0</math>, to wielomian <math>W_n (x) = \sum_{k = 0}^{n} a_k x^k</math> jest stopnia <math>0</math> modulo <math>p</math> i
  
Wzór 18. We wzorze 16. położyć <math>U_{n + 1} = P U_n - Q U_{n - 1}</math>.
+
::<math>a_0 \not\equiv 0 \pmod{p}</math>
  
 +
Konsekwentnie, dla dowolnego <math>x \in \mathbb{Z}</math> jest
  
'''Wzory 19. - 21. to wzory, które wykorzystamy w&nbsp;przyszłości do szybkiego obliczania wartości wyrazów <math>U_n</math> i <math>V_n</math> modulo.'''
+
::<math>a_n x^n + a_{n - 1} x^{n - 1} + \ldots + a_1 x + a_0 \not\equiv 0 \pmod{p}</math>
  
Wzór 19. Wystarczy połączyć wzory 11. oraz 16.
+
bo dla każdego <math>1 \leqslant k \leqslant n</math> mamy <math>a_k \equiv 0 \!\! \pmod{p}</math>. Zatem rozpatrywana kongruencja nie ma ani jednego rozwiązania, czyli rozwiązań nie może być więcej niż <math>n</math>.
  
Wzór 20. Wystarczy we wzorze 1. położyć <math>m = n + 1</math>.
+
W przypadku gdy <math>j \neq 0</math>, z&nbsp;twierdzenia Lagrange'a wynika, że rozpatrywana kongruencja ma nie więcej niż <math>j \leqslant n</math> rozwiązań, ponownie wbrew założeniu, że kongruencja ta ma więcej niż <math>n</math> rozwiązań. Uczynione przypuszczenie, że <math>S</math> jest zbiorem niepustym, okazało się fałszywe, zatem zbiór <math>S</math> musi być zbiorem pustym. Co należało pokazać.<br/>
 +
&#9633;
 +
{{\Spoiler}}
  
Wzór 21. Kładąc we wzorze 19. <math>n \rightarrow n + 1</math>, otrzymujemy
 
  
::<math>U_{2 n + 2} = 2 U_{n + 1} U_{n + 2} - P U^2_{n + 1} \qquad (*)</math>
 
  
Kładąc we wzorze 1. <math>m = n + 2</math>, mamy
+
<span style="font-size: 110%; font-weight: bold;">Przykład J15</span><br/>
 +
Z twierdzenia Lagrange'a wynika, że kongruencja
  
::<math>U_{2 n + 2} = U_{n + 2} U_{n + 1} - Q U_{n + 1} U_n</math>
+
::<math>x^p - x - 1 \equiv 0 \pmod{p}</math>
  
Czyli
+
ma co najwyżej <math>p</math> rozwiązań. W&nbsp;rzeczywistości nie ma ani jednego rozwiązania, bo z&nbsp;twierdzenia Fermata wiemy, że dla dowolnej liczby pierwszej <math>p</math> jest
  
::<math>2 U_{2 n + 2} = 2 U_{n + 1} U_{n + 2} - 2 Q U_n U_{n + 1}</math>
+
::<math>x^p \equiv x \pmod{p}</math>
  
Odejmując od powyższego wzoru wzór <math>(*)</math>, dostajemy wzór 21.
 
  
::<math>U_{2 n + 2} = P U^2_{n + 1} - 2 Q U_n U_{n + 1}</math>
 
  
Co należało pokazać.<br/>
+
<span style="font-size: 110%; font-weight: bold;">Przykład J16</span><br/>
&#9633;
+
Zauważmy, że w&nbsp;przypadku, gdy <math>n \geqslant p</math>, możemy zawsze wielomian przekształcić do postaci takiej, że <math>n < p</math>. Niech <math>p = 5</math> i
{{\Spoiler}}
 
  
 +
::<math>W(x) = x^{15} + 11 x^{11} + 5 x^5 + 2 x^2 + x + 1</math>
  
 +
Ponieważ <math>x^5 \equiv x \!\! \pmod{5}</math>, to
  
 +
::<math>W(x) \equiv x^3 + 11 x^3 + 5 x + 2 x^2 + x + 1 \equiv 12 x^3 + 2 x^2 + 6 x + 1 \pmod{5}</math>
  
 +
Co wynika również z&nbsp;faktu, że <math>W(x)</math> można zapisać w&nbsp;postaci
  
== Obliczanie wyrazów ciągu Lucasa modulo <math>m</math> ==
+
::<math>W(x) = x^{15} + 11 x^{11} + 5 x^5 + 2 x^2 + x + 1 = (x^5 - x) (x^{10} + 12 x^6 + 12 x^2 + 5) + 12 x^3 + 2 x^2 + 6 x + 1</math>
  
<span style="font-size: 110%; font-weight: bold;">Przykład L14</span><br/>
+
ale <math>x^5 - x \equiv 0 \!\! \pmod{5}</math> na mocy twierdzenia Fermata.
Pokażemy, jak wykorzystać podane w&nbsp;twierdzeniu L13 wzory 19, 20, 21 i 16
 
  
::<math>U_{2 n} = 2 U_n U_{n + 1} - P U^2_n</math>
 
  
::<math>U_{2 n + 1} = U^2_{n + 1} - Q U^2_n</math>
 
  
::<math>U_{2 n + 2} = P U^2_{n + 1} - 2 Q U_n U_{n + 1}</math>
 
  
::<math>V_n = 2 U_{n + 1} - P U_n</math>
 
  
do szybkiego obliczania wyrazów ciągu Lucasa modulo <math>m</math>.
+
== Twierdzenie Wilsona ==
  
 +
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J17 (John Wilson, 1770)</span><br/>
 +
Liczba całkowita <math>p \geqslant 2</math> jest liczbą pierwszą wtedy i&nbsp;tylko wtedy, gdy
  
Niech <math>P = 3</math>, <math>Q = 1</math>, <math>D = P^2 - 4 Q = 5</math>, <math>n = 22 = (10110)_2 = \sum_{j = 0}^{4} a_j \cdot 2^j</math>.
+
::<math>(p - 1) ! \equiv - 1 \pmod{p}</math>
  
W tabeli przedstawione są kolejne kroki, jakie musimy wykonać, aby policzyć <math>U_n = U_{22}</math> modulo <math>m = 23</math>.
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
  
::{| class="wikitable plainlinks"  style="font-size: 100%; text-align: center; margin-right: auto;"
+
<math>\Large{\Longleftarrow}</math>
|-
 
! <math>\boldsymbol{j}</math> !! <math>\boldsymbol{a_j}</math> !! <math>\boldsymbol{k_j}</math> !! <math>\boldsymbol{U_{k_j}}</math> !! <math>\boldsymbol{U_{k_j + 1}}</math>
 
|-
 
| <math>4</math> || <math>1</math> || <math>(1)_2 = 1</math> || <math>U_1 = 1</math> || <math>U_2 = P = 3</math>
 
|-
 
| <math>3</math> || <math>0</math> || <math>(10)_2 = 2</math> || <math>U_2 = 2 U_1 U_2 - 3 U^2_1 = 6 - 3 = 3</math> || <math>U_3 = U^2_2 - 1 = 8</math>
 
|-
 
| <math>2</math> || <math>1</math> || <math>(101)_2 = 5</math> || <math>U_5 = U^2_3 - U^2_2 = 64 - 9 = 55 \equiv 9</math> || <math>U_6 = 3 U_3^2 - 2 U_2 U_3 = 192 - 48 = 144 \equiv 6</math>
 
|-
 
| <math>1</math> || <math>1</math> || <math>(1011)_2 = 11</math> || <math>U_{11} = U^2_6 - U^2_5 \equiv 36 - 81 \equiv - 45 \equiv 1</math> || <math>U_{12} = 3 U_6^2 - 2 U_5 U_6 \equiv 108 - 108 \equiv 0</math>
 
|-
 
| <math>0</math> || <math>0</math> || <math>(10110)_2 = 22</math> || <math>U_{22} = 2 U_{11} U_{12} - 3 U^2_{11} \equiv 0 - 3 \equiv 20</math> || <math>U_{23} = U^2_{12} - U^2_{11} \equiv 0 - 1 \equiv 22</math>
 
|}
 
  
W kolumnie <math>a_j</math> wypisujemy kolejne cyfry liczby <math>n = 22 = (10110)_2</math> zapisanej w&nbsp;układzie dwójkowym. Liczby w&nbsp;kolumnie <math>k_j</math> tworzymy, biorąc kolejne (od prawej do lewej) cyfry liczby <math>n</math> w&nbsp;zapisie dwójkowym. Postępując w&nbsp;ten sposób, w&nbsp;ostatnim wierszu mamy <math>k_j = n</math> i&nbsp;wyliczamy liczby <math>U_n</math> i <math>U_{n + 1}</math> modulo <math>m</math>.
+
Przypuśćmy, że prawdziwa jest kongruencja <math>(p - 1) ! \equiv - 1 \!\! \pmod{p}</math> oraz <math>p</math> jest liczbą złożoną. Zatem liczba <math>p</math> ma dzielnik <math>d</math> taki, że <math>2 \leqslant d \leqslant p - 1</math>. Ponieważ <math>d \mid p</math>, to prawdziwa jest kongruencja
  
Dla uproszczenia zapisu i&nbsp;ułatwienia zrozumienia liczbę <math>k_j</math> oznaczymy jako <math>r</math>, a <math>k_{j + 1}</math> jako <math>s</math>. Zauważmy, że
+
::<math>(p - 1) ! \equiv - 1 \pmod{d}</math>
  
:* tabela jest zbudowana tak, że musimy znaleźć wyrazy ciągu Lucasa o&nbsp;indeksie <math>r = k_j</math> oraz o&nbsp;indeksie o&nbsp;jeden większym: <math>r + 1 = k_j + 1</math>
+
czyli
:* przejście do następnego wiersza (w dół) oznacza, że musimy znaleźć wyrazy o&nbsp;indeksie <math>s = k_{j + 1}</math> oraz o&nbsp;indeksie o&nbsp;jeden większym: <math>s + 1</math>
 
:* przechodząc do następnego wiersza, dotychczasowa liczba <math>r = k_j</math> powiększa się o&nbsp;kolejną cyfrę ( <math>0</math> lub <math>1</math> ), którą dopisujemy z&nbsp;prawej strony
 
:* dodanie na końcu liczby <math>r = k_j</math> zera podwaja liczbę <math>r</math>, czyli <math>s = k_{j + 1} = 2 r</math> oraz <math>s + 1 = 2 r + 1</math>
 
:* dodanie na końcu liczby <math>r = k_j</math> jedynki podwaja liczbę <math>r</math> i&nbsp;zwiększą ją o&nbsp;jeden, czyli <math>s = k_{j + 1} = 2 r + 1</math> oraz <math>s + 1 = 2 r + 2</math>
 
  
 +
::<math>0 \equiv - 1 \pmod{d}</math>
  
Dlatego, jeżeli kolejną dodaną cyfrą jest zero, to korzystamy ze wzorów
+
co jest niemożliwe.
  
::<math>U_s = U_{2 r} = 2 U_r U_{r + 1} - P U^2_r</math>
+
<math>\Large{\Longrightarrow}</math>
  
::<math>U_{s + 1} = U_{2 r + 1} = U^2_{r + 1} - Q U^2_r</math>
+
Łatwo sprawdzamy, że twierdzenie jest prawdziwe dla <math>p = 2</math>. Niech teraz <math>p</math> będzie liczbą pierwszą nieparzystą. Rozważmy wielomiany
  
Gdy kolejną dodaną cyfrą jest jeden, to stosujemy wzory
+
::<math>W(x) = (x - 1) (x - 2) \cdot \ldots \cdot (x - (p - 1))</math>
  
::<math>U_s = U_{2 r + 1} = U^2_{r + 1} - Q U^2_r</math>
+
oraz
  
::<math>U_{s + 1} = U_{2 r + 2} = P U^2_{r + 1} - 2 Q U_r U_{r + 1}</math>
+
::<math>V(x) = x^{p - 1} - 1</math>
  
 +
Zauważmy, że
  
Korzystając ze wzoru <math>V_n = 2 U_{n + 1} - P U_n</math>, mamy
+
:* stopnie tych wielomianów są równe <math>p - 1</math>
 +
:* współczynniki wiodące są równe <math>1</math>
 +
:* wyrazy wolne są równe odpowiednio <math>(p - 1) !</math> oraz <math>- 1</math>
 +
:* wielomiany mają <math>p - 1</math> rozwiązań modulo <math>p</math>
  
::<math>V_{22} = 2 U_{23} - 3 U_{22} \equiv 44 - 60 \equiv - 16 \equiv 7 \pmod{23}</math>
+
Niech
  
Ostatecznie otrzymujemy
+
::<math>U(x) = W (x) - V (x)</math>
  
::<math>U_{22} \equiv 20 \pmod{23} \quad</math> oraz <math>\quad V_{22} \equiv 7 \pmod{23}</math>
+
Zauważmy, że
  
 +
:* stopień wielomianu <math>U(x)</math> jest równy <math>p - 2 \geqslant 1</math>, ponieważ wyrazy o&nbsp;najwyższym stopniu uległy redukcji
 +
:* wielomian <math>U(x)</math> ma <math>p - 1</math> rozwiązań modulo <math>p</math>, bo dla każdego <math>k \in \{ 1, 2, \ldots, p - 1 \}</math> mamy <math>U(k) = W (k) - V (k) \equiv 0 \!\! \pmod{p}</math>
  
 +
Z twierdzenia Lagrange'a wiemy, że wielomian <math>U(x)</math> nie może mieć więcej niż <math>p - 2</math> rozwiązań modulo <math>p</math>. Zatem z&nbsp;twierdzenia J14 wynika natychmiast, że liczba pierwsza <math>p</math> musi dzielić każdy współczynnik <math>a_k</math> wielomianu <math>U(x)</math> i&nbsp;w&nbsp;szczególności musi dzielić wyraz wolny, który jest równy <math>(p - 1) ! + 1</math>. Co należało pokazać.<br/>
 +
&#9633;
 +
{{\Spoiler}}
  
<span style="font-size: 110%; font-weight: bold;">Uwaga L15</span><br/>
 
Uogólniając postępowanie przedstawione w&nbsp;przykładzie L14, możemy napisać program w&nbsp;PARI/GP do szybkiego obliczania wyrazów ciągu Lucasa <math>U_n (P, Q)</math> i <math>V_n (P, Q)</math> modulo <math>m</math>.
 
  
<span style="font-size: 90%; color:black;">modLucas(n, P, Q, m) =
 
{
 
'''local'''(A, i, s, U, U2, V, W, W2);
 
'''if'''( m == 1, '''return'''([0, 0]) );
 
'''if'''( n == 0, '''return'''([0, 2 % m]) );
 
A = '''digits'''(n, 2); \\ otrzymujemy wektor cyfr liczby n w układzie dwójkowym
 
s = '''length'''(A); \\ długość wektora A
 
U = 1;
 
W = P;
 
i = 1;
 
'''while'''( i++ <= s,
 
        '''if'''( A[i] == 0,  U2 = 2*U*W - P*U^2;  W2 = W^2 - Q*U^2 );
 
        '''if'''( A[i] == 1,  U2 = W^2 - Q*U^2;  W2 = P*W^2 - 2*Q*U*W );
 
        U = U2 % m;
 
        W = W2 % m;
 
      );
 
V = (2*W - P*U) % m;
 
'''return'''([U, V]);
 
}</span>
 
  
 +
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J18</span><br/>
 +
Liczba całkowita nieparzysta <math>p \geqslant 3</math> jest liczbą pierwszą wtedy i&nbsp;tylko wtedy, gdy
  
 +
::<math>\left[ \left( {\small\frac{p - 1}{2}} \right) ! \right]^2 \equiv (- 1)^{\tfrac{p + 1}{2}} \!\! \pmod{p}</math>
  
 +
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 +
Z twierdzenia Wilsona wiemy, że liczba całkowita <math>p \geqslant 2</math> jest liczbą pierwszą wtedy i&nbsp;tylko wtedy, gdy
  
 +
::<math>(p - 1) ! \equiv - 1 \pmod{p}</math>
  
== Podzielność wyrazów <math>U_n (P, Q)</math> przez liczbę pierwszą nieparzystą ==
+
W przypadku, gdy liczba <math>p</math> jest liczbą nieparzystą możemy powyższy wzór łatwo przekształcić. Ponieważ czynniki w <math>(p - 1) !</math> są określone modulo <math>p</math>, to odejmując od każdego czynnika większego od <math>{\small\frac{p - 1}{2}}</math> liczbę <math>p</math>, otrzymujemy
  
<span style="font-size: 110%; font-weight: bold;">Uwaga L16</span><br/>
+
::<math>1 \cdot 2 \cdot \ldots \cdot {\small\frac{p - 3}{2}} \cdot {\small\frac{p - 1}{2}} \cdot \left( {\small\frac{p + 1}{2}} - p \right) \left( {\small\frac{p + 3}{2}} - p \right) \cdot \ldots \cdot (- 2) \cdot (- 1) \equiv - 1 \!\! \pmod{p}</math>
Niech <math>p</math> będzie liczbą pierwszą nieparzystą. W&nbsp;przypadku, gdy <math>p \nmid P Q</math> nie możemy nic powiedzieć o&nbsp;podzielności wyrazów <math>U_n</math> przez <math>p</math>. Przykładowo, jeżeli <math>P \equiv 1 \pmod{p} \;</math> <math>\text{i} \;\; Q \equiv 1 \pmod{p}</math>, to modulo <math>p</math>, mamy
 
  
::<math>(U_n) \equiv (0, 1, 1, 0, - 1, - 1, 0, 1, 1, 0, - 1, - 1, 0, 1, 1, 0, - 1, - 1, 0, 1, 1, 0, - 1, - 1, \ldots)</math>
+
::<math>(- 1)^{\tfrac{p - 1}{2}} \cdot \left[ \left( {\small\frac{p - 1}{2}} \right) ! \right]^2 \equiv - 1 \!\! \pmod{p}</math>
  
W przypadku, gdy <math>P \equiv 2 \pmod{p} \;</math> <math>\text{i} \;\; Q \equiv 1 \pmod{p}</math>, to modulo <math>p</math> mamy
+
::<math>\left[ \left( {\small\frac{p - 1}{2}} \right) ! \right]^2 \equiv (- 1)^{\tfrac{p + 1}{2}} \!\! \pmod{p}</math>
  
::<math>(U_n) \equiv (0, 1, 2, \ldots, p - 1, 0, 1, 2, \ldots, p - 1, 0, 1, 2, \ldots, p - 1, \ldots)</math>
+
Co należało pokazać.<br/>
 +
&#9633;
 +
{{\Spoiler}}
  
Sytuacja wygląda inaczej, gdy <math>p \mid P Q</math>.
 
  
  
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie L17</span><br/>
 
Niech <math>p</math> będzie liczbą pierwszą nieparzystą.
 
  
::{| border="0"
+
== Twierdzenie Fermata ==
|-style=height:1.9em
+
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J19 (Pierre de Fermat, 1640)</span><br/>
| &#9679;&nbsp;&nbsp;&nbsp; jeżeli <math>\; p \mid P \;</math> <math>\text{i} \;\; p \mid Q , \;</math> to <math>\; p \mid U_n \;</math> dla <math>n \geqslant 2</math>
+
Niech <math>a \in \mathbb{Z}</math>. Jeżeli <math>p</math> jest liczbą pierwszą
|-style=height:1.9em
 
| &#9679;&nbsp;&nbsp;&nbsp; jeżeli <math>\; p \mid P \;</math> <math>\text{i} \;\; p \nmid Q , \;</math> to <math>\; p \mid U_{2 n} \;</math> i <math>\; p \nmid U_{2 n + 1}</math>
 
|-style=height:1.9em
 
| &#9679;&nbsp;&nbsp;&nbsp; jeżeli <math>\; p \nmid P \;</math> <math>\text{i} \;\; p \mid Q , \;</math> to <math>\; p \nmid U_n \;</math> dla <math>n \geqslant 1</math>
 
|-style=height:1.9em
 
| &#9679;&nbsp;&nbsp;&nbsp; jeżeli <math>\; p \mid Q , \;</math> to <math>\; p \mid U_n</math>, gdzie <math>n \geqslant 2</math>, wtedy i&nbsp;tylko wtedy, gdy <math>\; p \mid P</math>
 
|-style=height:1.9em
 
| &#9679;&nbsp;&nbsp;&nbsp; jeżeli <math>\; p \nmid P \;</math> <math>\text{i} \;\; p \mid D , \;</math> to <math>\; p \mid U_n \;</math> wtedy i&nbsp;tylko wtedy, gdy <math>p \mid n</math>
 
|}
 
  
Założenie, że <math>p \nmid P</math> w&nbsp;ostatnim punkcie jest istotne. Gdy <math>\; p \mid P \;</math> i <math>\; p \mid D , \;</math> to <math>\; p \mid Q \;</math> i&nbsp;otrzymujemy punkt pierwszy.
+
:* to liczba <math>a^p - a</math> jest podzielna przez <math>p</math>, czyli <math>a^p \equiv a \!\! \pmod p</math>
 +
:* i&nbsp;jeśli dodatkowo <math>p \nmid a</math>, to liczba <math>a^{p - 1} - 1</math> jest podzielna przez <math>p</math>, czyli <math>a^{p - 1} \equiv 1 \!\! \pmod p</math>
  
 
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 
'''Punkt 1.'''
 
'''Punkt 1.'''
  
Ponieważ <math>U_2 = P</math>, zatem <math>p \mid U_2</math>. Dla <math>n \geqslant 3</math> wyrażenie <math>U_n = P U_{n - 1} - Q U_{n - 2}</math> jest podzielne przez <math>p</math>.
+
Zauważmy, że<br/>
 +
a) twierdzenie jest prawdziwe dla <math>a = 0</math><br/>
 +
b) w&nbsp;przypadku, gdy <math>p = 2</math> wyrażenie <math>a^p - a = a^2 - a = a (a - 1)</math> jest podzielne przez <math>2</math>, bo jedna z&nbsp;liczb <math>a - 1</math> i <math>a</math> jest liczbą parzystą<br/>
 +
c) w&nbsp;przypadku, gdy <math>p</math> jest liczbą pierwszą nieparzystą i&nbsp;twierdzenie jest prawdziwe dla <math>a \geqslant 1</math>, to jest też prawdziwe dla <math>- a</math>, bo
 +
::<math>(- a)^p - (- a) = (- 1)^p a^p + a = - a^p + a = - (a^p - a)</math><br/>
  
'''Punkt 2.'''
 
  
Indeksy parzyste. Indukcja matematyczna. Mamy <math>U_0 = 0</math> i <math>U_2 = P</math>, zatem <math>p \mid U_0</math> i <math>p \mid U_2</math>. Zakładając, że <math>p \mid U_{2 n}</math>, z definicji ciągu <math>(U_k)</math>, otrzymujemy dla <math>U_{2 n + 2}</math>
+
Zatem wystarczy pokazać, że dla ustalonej liczby pierwszej nieparzystej <math>p</math> twierdzenie jest prawdziwe dla każdego <math>a \in \mathbb{Z}_+</math>.
  
::<math>U_{2 n + 2} = P U_{2 n - 1} - Q U_{2 n}</math>
+
Indukcja matematyczna. Dla <math>a = 1</math> mamy <math>1^p - 1 = 0</math> zatem liczba pierwsza <math>p</math> jest dzielnikiem rozważanego wyrażenia. Zakładając, że twierdzenie jest prawdziwe dla <math>a</math>, czyli <math>p \mid a^p - a</math>, otrzymujmy dla <math>a + 1</math>
  
Z założenia indukcyjnego wynika, że <math>p \mid U_{2 n + 2}</math>, zatem na mocy zasady indukcji matematycznej twierdzenie jest prawdziwe dla wszystkich <math>n \geqslant 0</math>.
+
::<math>(a + 1)^p - (a + 1) = \sum_{k = 0}^{p} \binom{p}{k} \cdot a^k - a - 1</math>
  
Indeksy nieparzyste. Indukcja matematyczna. Mamy <math>U_1 = 1</math> i <math>U_3 = P^2 - Q</math>, zatem <math>p \nmid U_1</math> i <math>p \nmid U_3</math>. Zakładając, że <math>p \nmid U_{2 n - 1}</math>, z definicji ciągu <math>(U_k)</math>, otrzymujemy dla <math>U_{2 n + 1}</math>
+
:::::::<math>\;\;\,\, = 1 + \sum_{k = 1}^{p - 1} \binom{p}{k} \cdot a^k + a^p - a - 1</math>
  
::<math>U_{2 n + 1} = P U_{2 n} - Q U_{2 n - 1}</math>
+
:::::::<math>\;\;\,\, = a^p - a + \sum^{p - 1}_{k = 1} \binom{p}{k} \cdot a^k</math>
  
Z założenia indukcyjnego wynika, że <math>p \nmid U_{2 n + 1}</math>, zatem na mocy zasady indukcji matematycznej twierdzenie jest prawdziwe dla wszystkich <math>n \geqslant 1</math>.
 
  
'''Punkt 3.'''
+
Z założenia indukcyjnego <math>p \mid a^p - a</math>, zaś <math>\binom{p}{k} = {\small\frac{p!}{k! \cdot (p - k) !}}</math> dla <math>k = 1, 2, \ldots, p - 1</math> jest podzielne przez <math>p</math> (ponieważ <math>p</math> dzieli licznik, ale nie dzieli mianownika). Zatem <math>(a + 1)^p - (a + 1)</math> jest podzielne przez liczbę pierwszą <math>p</math>.
  
Indukcja matematyczna. Mamy <math>U_1 = 1</math> i <math>U_2 = P</math>, zatem <math>p \nmid U_1</math> i <math>p \nmid U_2</math>. Zakładając, że <math>p \nmid U_n</math> zachodzi dla wszystkich liczb całkowitych dodatnich nie większych od <math>n</math>, z&nbsp;definicji ciągu <math>(U_n)</math>
+
'''Punkt 2.'''
otrzymujemy dla <math>n + 1</math>
 
  
::<math>U_{n + 1} = P U_n - Q U_{n - 1}</math>
+
Z punktu 1. wiemy, że liczba pierwsza <math>p</math> dzieli <math>a^p - a = a (a^{p - 1} - 1)</math>. Jeżeli <math>p \nmid a</math>, to z&nbsp;lematu Euklidesa (zobacz twierdzenie C74) wynika natychmiast, że <math>p</math> dzieli <math>a^{p - 1} - 1</math>.<br/>
 +
&#9633;
 +
{{\Spoiler}}
  
Z założenia indukcyjnego wynika, że <math>p \nmid U_{n + 1}</math>, zatem na mocy zasady indukcji matematycznej twierdzenie jest prawdziwe dla wszystkich liczb <math>n \geqslant 1</math>.
 
  
'''Punkt 4.'''
 
  
Wynika z&nbsp;punktów pierwszego i&nbsp;trzeciego.
+
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J20</span><br/>
 +
Niech <math>x, y \in \mathbb{Z}</math>. Jeżeli <math>\gcd (x, y) = 1</math> i&nbsp;liczba pierwsza nieparzysta <math>p</math> dzieli <math>x^2 + y^2</math>, to <math>p</math> jest postaci <math>4 k + 1</math>.
  
'''Punkt 5.'''
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 
+
Z założenia
Z twierdzenia L7 wiemy, że
 
 
 
::<math>2^{n - 1} U_n = \sum_{k = 0}^{\lfloor (n - 1) / 2 \rfloor} \binom{n}{2 k + 1} P^{n - 2 k - 1} D^k</math>
 
  
::::<math>\;\; = n P^{n - 1} + \binom{n}{3} P^{n - 3} D + \binom{n}{5} P^{n - 5} D^2 + \ldots +
+
::<math>x^2 \equiv - y^2 \!\! \pmod{p}</math>
\begin{cases}
 
n P D^{(n - 2) / 2} & \text{gdy }n\text{ jest parzyste} \\
 
D^{(n - 1) / 2} & \text{gdy }n\text{ jest nieparzyste}
 
\end{cases}</math>
 
  
Z założenia <math>p \mid D</math>, zatem modulo <math>p</math> dostajemy
+
Przypuśćmy, że <math>p \mid y</math>. Wtedy z&nbsp;powyższej kongruencji mamy natychmiast, że <math>p \mid x</math>, wbrew założeniu, że <math>\gcd (x, y) = 1</math>. Zatem <math>p \nmid y</math> i&nbsp;z&nbsp;twierdzenia Fermata dostajemy
  
::<math>2^{n - 1} U_n \equiv n P^{n - 1} \pmod{p}</math>
+
::<math>1 \equiv x^{p - 1} \equiv (x^2)^{\tfrac{p - 1}{2}} \equiv (- y^2)^{\tfrac{p - 1}{2}} \equiv y^{p - 1} \cdot (- 1)^{\tfrac{p - 1}{2}} \equiv (- 1)^{\tfrac{p - 1}{2}} \!\! \pmod{p}</math>
  
Ponieważ <math>p \nmid P</math>, zatem <math>p \mid U_n</math> wtedy i&nbsp;tylko wtedy, gdy <math>p \mid n</math>.
+
Wynika stąd, że <math>{\small\frac{p - 1}{2}}</math> musi być liczbą parzystą, czyli <math>p = 4 k + 1</math>. Co należało pokazać.<br/>
Co należało pokazać.<br/>
 
 
&#9633;
 
&#9633;
 
{{\Spoiler}}
 
{{\Spoiler}}
Linia 747: Linia 629:
  
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie L18</span><br/>
+
<span style="font-size: 110%; font-weight: bold;">Zadanie J21</span><br/>
Jeżeli <math>d</math> jest nieparzystym dzielnikiem <math>Q</math>, to dla <math>n \geqslant 2</math> jest
+
Niech <math>x, y, n \geqslant 0</math>. Pokazać, że jedynymi rozwiązaniami równania
  
::<math>U_n \equiv P^{n - 1} \pmod{d}</math>
+
::<math>x^2 + y^2 = 2^n</math>
  
W szczególności, gdy liczba pierwsza nieparzysta <math>p</math> jest dzielnikiem <math>Q</math> i <math>p \nmid P</math>, to
+
są liczby
  
::<math>U_p \equiv 1 \pmod{p}</math>
+
:* <math>x = 2^{n / 2} \,</math> i <math>\, y = 0 \,</math> lub <math>\, x = 0 \,</math> i <math>\, y = 2^{n / 2}</math>, gdy <math>2 \mid n</math>
 +
:* <math>x = y = 2^{(n - 1) / 2}</math>, gdy <math>2 \nmid n</math>
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Rozwiązanie|Hide=Ukryj rozwiązanie}}
Oznaczmy <math>\delta = \sqrt{D}</math>, zatem <math>2 \alpha = P + \delta</math> i <math>2 \beta = P - \delta</math>. Ze wzoru dwumianowego, mamy
+
'''A.''' Gdy jedna z&nbsp;liczb <math>x, y</math> jest równa <math>0</math> (powiedzmy <math>y</math>), to mamy <math>x = 2^{n / 2}</math>, gdy <math>n</math> jest parzyste. Gdy <math>n</math> jest nieparzyste, to rozwiązanie nie istnieje. Od tej pory będziemy zakładali, że <math>x, y \geqslant 1</math>
  
::<math>2^n \alpha^n = (P + \delta)^n = \sum_{j = 0}^{n} \binom{n}{j} P^{n - j} \delta^j</math>
+
'''B.''' Wiemy, że kwadrat liczby nieparzystej przystaje do <math>1</math> modulo <math>4</math>. Gdy obie liczby <math>x, y</math> są nieparzyste, to modulo <math>4</math> mamy
  
::<math>2^n \beta^n = (P - \delta)^n = \sum_{j = 0}^{n} \binom{n}{j} P^{n - j} (- \delta)^j</math>
+
::<math>2 \equiv 2^n \!\! \pmod{4}</math>
  
 +
Kongruencja ta jest prawdziwa tylko dla <math>n = 1</math> i&nbsp;w&nbsp;tym przypadku mamy <math>(x, y) = (1, 1)</math>.
  
Obliczając różnicę wyjściowych wzorów, mamy
+
'''C.''' W&nbsp;przypadku, gdy obie liczby są parzyste, możemy napisać <math>x = 2^a u</math>, <math>y = 2^b w</math>, gdzie liczby <math>u, w</math> są nieparzyste. Nie zmniejszając ogólności możemy założyć, że <math>1 \leqslant a \leqslant b < {\small\frac{n}{2}}</math>. Dostajemy
  
::<math>2^n (\alpha^n - \beta^n) = \sum_{j = 0}^{n} \binom{n}{j} P^{n - j} (\delta^j - (- \delta)^j) =</math>
+
::<math>u^2 + 2^{2 b - 2 a} w^2 = 2^{n - 2 a}</math>
  
:::::<math>\quad \: = \underset{j \; \text{nieparzyste}}{\sum_{j = 1}^{n}} \binom{n}{j} P^{n - j} \cdot 2 \delta^j</math>
+
Widzimy, że nie może być <math>a < b</math>, bo suma liczby nieparzystej i&nbsp;parzystej nie jest liczbą parzystą. Zatem <math>a = b</math> i&nbsp;otrzymujemy równanie
  
:::::<math>\quad \: = 2 \underset{j \; \text{nieparzyste}}{\sum_{j = 1}^{n}} \binom{n}{j} P^{n - j} \cdot \delta \cdot D^{(j - 1) / 2}</math>
+
::<math>u^2 + w^2 = 2^{n - 2 a}</math>
  
Rozpatrując powyższą równość modulo <math>Q</math> dostajemy (zobacz L43)
+
które ma rozwiązanie w&nbsp;liczbach nieparzystych tylko dla wykładnika <math>n - 2 a = 1</math>. Mamy <math>u = w = 1</math>, zatem <math>x = y = 2^{(n - 1) / 2}</math> i <math>n</math> musi być liczbą nieparzystą.<br/>
 +
&#9633;
 +
{{\Spoiler}}
  
::<math>2^{n - 1} \cdot {\small\frac{\alpha^n - \beta^n}{\delta}} = 2^{n - 1} U_n \equiv \underset{j \; \text{nieparzyste}}{\sum_{j = 1}^{n}} \binom{n}{j} P^{n - j} \cdot P^{j - 1}</math>
 
  
:::::::::<math>\;\:\: \equiv P^{n - 1} \underset{j \; \text{nieparzyste}}{\sum_{j = 1}^{n}} \binom{n}{j}</math>
 
  
:::::::::<math>\;\:\: \equiv 2^{n - 1} P^{n - 1}</math>
+
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J22</span><br/>
 +
Niech <math>x, y \in \mathbb{Z}_+</math>. Jeżeli <math>x \neq y</math>, to liczba <math>x^2 + y^2</math> ma dzielnik pierwszy postaci <math>4 k + 1</math>.
  
Czyli
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 
+
W&nbsp;przypadku, gdy <math>x = y</math> mamy <math>x^2 + y^2 = 2 y^2</math> i&nbsp;jeśli liczba <math>y</math> nie ma dzielnika pierwszego postaci <math>4 k + 1</math>, to nie ma go również liczba <math>2 y^2</math>. Przykładowo <math>x^2 + y^2 = 2 y^2 = 2^{2 r + 1}, 2 \cdot 3^{2 r}, 2 \cdot 7^{2 r}</math>. Dlatego zakładamy, że <math>x \neq y</math>. Analogiczna sytuacja ma miejsce, gdy jedna z&nbsp;liczb <math>x, y</math> jest równa zero. Dlatego zakładamy, że <math>x, y \in \mathbb{Z}_+</math>.
::<math>2^{n - 1} (U_n - P^{n - 1}) \equiv 0 \pmod{Q}</math>
 
 
 
Ponieważ <math>Q</math> dzieli <math>2^{n - 1} (U_n - P^{n - 1})</math>, to tym bardziej <math>d</math> dzieli <math>2^{n - 1} (U_n - P^{n - 1})</math>. Z założenia <math>\gcd (d, 2^{n - 1}) = 1</math>, zatem <math>d</math> dzieli <math>U_n - P^{n - 1}</math> (zobacz C72).
 
 
 
W przypadku szczególnym, gdy <math>d = p</math>, gdzie <math>p</math> jest nieparzystą liczbą pierwszą i <math>p \nmid P</math>, z&nbsp;twierdzenia Fermata otrzymujemy natychmiast
 
 
 
::<math>U_p \equiv P^{p - 1} \equiv 1 \pmod{p}</math>
 
  
Co należało pokazać.<br/>
+
Niech <math>\gcd (x, y) = d</math>, zatem mamy <math>x = a d</math>, <math>y = b d</math>. Wynika stąd, że <math>x^2 + y^2 = d^2 (a^2 + b^2)</math>, gdzie <math>\gcd (a, b) = 1 \,</math> i <math>\, a \neq b</math>. Ponieważ <math>\, a \neq b</math>, to liczba <math>a^2 + b^2</math> musi mieć dzielnik pierwszy nieparzysty (zobacz J21). Z&nbsp;twierdzenia J20 zastosowanego do liczby <math>a^2 + b^2</math> wynika, że <math>a^2 + b^2</math> musi mieć dzielnik pierwszy postaci <math>4 k + 1</math>.<br/>
 
&#9633;
 
&#9633;
 
{{\Spoiler}}
 
{{\Spoiler}}
Linia 796: Linia 674:
  
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie L19</span><br/>
 
Niech <math>D = P^2 - 4 Q</math>, a <math>(D \mid p)</math> oznacza symbol Legendre'a, gdzie <math>p</math> jest liczbą pierwszą nieparzystą i <math>p \nmid Q</math>. Mamy
 
  
::{| border="0"
 
|-style=height:2em
 
| &#9679;&nbsp;&nbsp;&nbsp; <math>U_p \equiv (D \mid p) \pmod{p}</math>
 
|-style=height:2em
 
| &#9679;&nbsp;&nbsp;&nbsp; jeżeli <math>(D \mid p) = - 1 , \;</math> to <math>\; p \mid U_{p + 1}</math>
 
|-style=height:2em
 
| &#9679;&nbsp;&nbsp;&nbsp; jeżeli <math>(D \mid p) = 1 , \;</math> to <math>\; p \mid U_{p - 1}</math>
 
|}
 
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
+
== Kryterium Eulera ==
'''Punkt 1.'''
 
  
Zauważmy, że przypadek gdy <math>p \mid Q</math>, omówiliśmy w&nbsp;twierdzeniu poprzednim. Z&nbsp;założenia <math>p</math> jest liczbą pierwszą nieparzystą. Z&nbsp;twierdzenia L7, w&nbsp;przypadku nieparzystego <math>n = p</math>, otrzymujemy
+
<span style="font-size: 110%; font-weight: bold;">Definicja J23</span><br/>
 +
Niech <math>p</math> będzie liczbą pierwszą i <math>a \in \mathbb{Z}</math>. Powiemy, że liczba <math>a</math> jest liczbą kwadratową modulo <math>p</math>, jeżeli kongruencja
  
::<math>2^{p - 1} U_p = p P^{p - 1} + \binom{p}{3} P^{p - 3} D + \binom{p}{5} P^{p - 5} D^2 + \ldots + \binom{p}{p-2} P^2 D^{(p - 3) / 2} + D^{(p - 1) / 2}</math>
+
::<math>x^2 \equiv a \pmod{p}</math>
  
Ponieważ dla każdego <math>k \in [1, p - 1]</math> (zobacz L43)
+
ma rozwiązanie, czyli istnieje taka liczba <math>k \in \mathbb{Z}</math>, że <math>p \mid (k^2 - a)</math>.
  
::<math>\binom{p}{k} \equiv 0 \pmod{p}</math>
+
Powiemy, że liczba <math>a</math> jest liczbą niekwadratową modulo <math>p</math>, jeżeli kongruencja
  
to modulo <math>p</math> dostajemy (zobacz J28)
+
::<math>x^2 \equiv a \pmod{p}</math>
  
::<math>2^{p - 1} U_p \equiv U_p \equiv D^{(p - 1) / 2} \equiv (D \mid p) \pmod{p}</math>
+
nie ma rozwiązania.
  
'''Punkt 2.'''
 
  
Zauważmy, że warunek <math>(D \mid p) = - 1</math> nie może być spełniony, gdy <math>p \mid Q</math>. Istotnie, gdy <math>p \mid Q</math>, to <math>D = P^2 - 4 Q \equiv P^2 \pmod{p}</math>, czyli
 
  
::<math>(D \mid p) = (P^2 \mid p) = (P \mid p)^2 = 0 , \;</math> gdy <math>p \mid P</math>
+
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J24</span><br/>
 +
Jeżeli <math>p</math> jest liczbą pierwszą nieparzystą, to wśród liczb <math>1, 2, \ldots, p - 1</math> istnieje dokładnie <math>{\small\frac{p - 1}{2}}</math> liczb kwadratowych modulo <math>p</math> i&nbsp;tyle samo liczb niekwadratowych modulo <math>p</math>.
  
lub
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 +
Zauważmy, że w&nbsp;rozważanym zbiorze liczb <math>\{ 1, 2, \ldots, p - 1 \}</math>, kwadraty liczb <math>k</math> i <math>p - k</math> są takimi samymi liczbami modulo <math>p</math>, co wynika z&nbsp;oczywistej kongruencji
  
::<math>(D \mid p) = (P^2 \mid p) = (P \mid p)^2 = 1 , \;</math> gdy <math>p \nmid P</math>
+
::<math>k^2 \equiv (p - k)^2 \pmod{p}</math>
  
i nie może być <math>(D \mid p) = - 1</math>.
+
Pozwala to wypisać pary liczb, których kwadraty są identyczne modulo <math>p</math>
  
Dla parzystego <math>n = p + 1</math> otrzymujemy z&nbsp;twierdzenia L7
+
::<math>(1, p - 1), (2, p - 2), \ldots, \left( {\small\frac{p - 1}{2}}, p - {\small\frac{p - 1}{2}} \right)</math>
  
::<math>2^p U_{p + 1} = (p + 1) P^p + \binom{p + 1}{3} P^{p - 2} D + \binom{p + 1}{5} P^{p - 4} D^2 + \ldots + \binom{p + 1}{p - 2} P^3 D^{(p - 3) / 2} + (p + 1) P D^{(p - 1) / 2}</math>
+
Ponieważ
  
Ponieważ dla <math>k \in [2, p - 1]</math> (zobacz L44)
+
::<math>p - {\small\frac{p - 1}{2}} = {\small\frac{p + 1}{2}} = {\small\frac{p - 1}{2}} + 1</math>
  
::<math>\binom{p + 1}{k} \equiv 0 \pmod{p}</math>
+
to wypisane pary wyczerpują cały zbiór <math>\{ 1, 2, \ldots, p - 1 \}</math>. Co więcej, liczby <math>1^2, 2^2, \ldots, \left( {\small\frac{p - 1}{2}} \right)^2</math> są wszystkie różne modulo <math>p</math>. Istotnie, przypuśćmy, że <math>1 \leqslant i, j \leqslant {\small\frac{p - 1}{2}}</math> oraz <math>i \neq j</math>, a&nbsp;jednocześnie <math>i^2 \equiv j^2 \!\! \pmod{p}</math>. Gdyby tak było, to mielibyśmy
  
to modulo <math>p</math> dostajemy
+
::<math>(i - j) (i + j) \equiv 0 \pmod{p}</math>
  
::<math>2 U_{p + 1} \equiv P + P D^{(p - 1) / 2} \pmod{p}</math>
+
Łatwo zauważamy, że jest to niemożliwe, bo żaden z&nbsp;czynników nie jest podzielny przez <math>p</math>, co wynika z&nbsp;prostych oszacowań
  
 +
::<math>1 \leqslant | i - j | \leqslant i + j < p - 1</math>
  
Z założenia <math>D</math> jest liczbą niekwadratową modulo <math>p</math>, zatem <math>D^{(p - 1) / 2} \equiv - 1 \pmod{p}</math> (zobacz J25). Skąd wynika natychmiast, że
+
::<math>2 < i + j < p - 1</math>
  
::<math>2 U_{p + 1} \equiv 0 \pmod{p}</math>
 
  
Czyli <math>p \mid U_{p + 1}</math>.
+
Ponieważ (z definicji) liczba <math>a</math> jest liczbą kwadratową modulo <math>p</math>, jeżeli kongruencja
  
'''Punkt 3.'''
+
::<math>x^2 \equiv a \pmod{p}</math>
  
Dla parzystego <math>n = p - 1</math> otrzymujemy z&nbsp;twierdzenia L7
+
ma rozwiązanie, to liczba kwadratowa modulo <math>p</math> musi przystawać do pewnego kwadratu modulo <math>p</math>.
  
::<math>2^{p - 2} U_{p - 1} = (p - 1) P^{p - 2} + \binom{p - 1}{3} P^{p - 4} D + \binom{p - 1}{5} P^{p - 6} D^2 + \ldots + \binom{p - 1}{p - 4} P^3 D^{(p - 5) / 2} + (p - 1) P D^{(p - 3) / 2}</math>
+
Wynika stąd, że różnych liczb kwadratowych modulo <math>p</math> jest tyle samo, co kwadratów <math>1^2, 2^2, \ldots, \left( {\small\frac{p - 1}{2}} \right)^2</math>. Czyli jest ich dokładnie <math>{\small\frac{p - 1}{2}}</math>. Pozostałe liczby w&nbsp;zbiorze <math>\{ 1, 2, \ldots, p - 1 \}</math> to liczby niekwadratowe modulo <math>p</math> i&nbsp;jest ich również <math>{\small\frac{p - 1}{2}}</math>. Co należało pokazać.<br/>
 +
&#9633;
 +
{{\Spoiler}}
  
Ponieważ dla <math>k \in [0, p - 1]</math> (zobacz L45)
 
  
::<math>\binom{p - 1}{k} \equiv (- 1)^k \pmod{p}</math>
 
  
to modulo <math>p</math> mamy
+
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J25 (kryterium Eulera, 1748)</span><br/>
 +
Niech <math>p</math> będzie liczbą pierwszą nieparzystą i <math>p \nmid a</math>. Modulo <math>p</math> mamy
  
::<math>2^{p - 2} U_{p - 1} \equiv - (P^{p - 2} + P^{p - 4} D + P^{p - 6} D^2 + \ldots + P D^{(p - 3) / 2}) \pmod{p}</math>
+
::{| border="0"
 +
|-style=height:2.5em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || liczba <math>a</math> jest liczbą kwadratową modulo <math>p</math> wtedy i&nbsp;tylko wtedy, gdy <math>a^{(p - 1) / 2} \equiv 1 \pmod{p}</math>
 +
|-style=height:2.5em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || liczba <math>a</math> jest liczbą niekwadratową modulo <math>p</math> wtedy i&nbsp;tylko wtedy, gdy <math>a^{(p - 1) / 2} \equiv - 1 \pmod{p}</math>
 +
|}
  
::::<math>\quad \,\, \equiv - P (P^{p - 3} + P^{p - 5} D + P^{p - 7} D^2 + \ldots + D^{(p - 3) / 2}) \pmod{p}</math>
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
  
 +
'''Punkt 1.'''
  
Z założenia <math>D</math> jest liczbą kwadratową modulo <math>p</math> (zobacz J23), zatem istnieje taka liczba <math>R</math>, że
+
Niech <math>Q \subset \{ 1, 2, \ldots, p - 1 \}</math> będzie zbiorem wszystkich liczb kwadratowych modulo <math>p</math>, a <math>S \subset \{ 1, 2, \ldots, p - 1 \}</math> będzie zbiorem wszystkich rozwiązań kongruencji
  
::<math>D \equiv R^2 \pmod{p}</math>
+
::<math>x^{(p - 1) / 2} \equiv 1 \pmod{p}</math>
  
Ponieważ
+
Zauważmy, że
  
:* <math>(D \mid p) = 1</math>, to <math>p \nmid D</math>, zatem <math>p \nmid R</math>
+
::{| border=1 style="border-collapse: collapse;"
:* z&nbsp;założenia <math>p \nmid Q</math>, to <math>P^2 - R^2 \equiv P^2 - D \equiv 4 Q \not\equiv 0 \pmod{p}</math>
+
|-style=height:2.5em
 +
| &nbsp;&nbsp;&nbsp;'''A'''&nbsp;&nbsp;&nbsp; || &nbsp;&nbsp;&nbsp;<math>| Q | = {\small\frac{p - 1}{2}}</math> || &nbsp;&nbsp;&nbsp;zobacz J24
 +
|-style=height:2.5em
 +
| &nbsp;&nbsp;&nbsp;'''B'''&nbsp;&nbsp;&nbsp; || &nbsp;&nbsp;&nbsp;<math>| S | \leqslant {\small\frac{p - 1}{2}}</math> || &nbsp;&nbsp;&nbsp;zobacz twierdzenie Lagrange'a J13
 +
|-style=height:2.5em
 +
| &nbsp;&nbsp;&nbsp;'''C'''&nbsp;&nbsp;&nbsp; || &nbsp;&nbsp;&nbsp;jeżeli <math>a \in Q</math>, to <math>a \in S \qquad </math> || &nbsp;&nbsp;&nbsp;wynika z&nbsp;ciągu implikacji:<br/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<math>a \in Q \qquad \Longrightarrow \qquad a \equiv k^2 \pmod{p}</math><br/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<math>a \equiv k^2 \pmod{p} \qquad \Longrightarrow \qquad a^{(p - 1) / 2} \equiv (k^2)^{(p - 1) / 2} \equiv k^{p - 1} \equiv 1 \pmod{p}</math>&nbsp;&nbsp;&nbsp;<br/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<math>a^{(p - 1) / 2} \equiv 1 \pmod{p} \qquad \Longrightarrow \qquad a \in S</math>
 +
|-style=height:2.5em
 +
| &nbsp;&nbsp;&nbsp;'''D'''&nbsp;&nbsp;&nbsp; || &nbsp;&nbsp;&nbsp;<math>Q \subseteq S</math> || &nbsp;&nbsp;&nbsp;z punktu '''C''' wynika, że '''każdy''' element zbioru <math>Q</math> należy do zbioru <math>S</math>
 +
|}
  
  
Czyli
+
Łącząc rezultaty z&nbsp;tabeli, otrzymujemy
  
::<math>2^{p - 2} U_{p - 1} \equiv - P (P^{p - 3} + P^{p - 5} R^2 + P^{p - 7} R^4 + \ldots + R^{p - 3}) \pmod{p}</math>
+
::<math>{\small\frac{p - 1}{2}} = | Q | \leqslant | S | \leqslant {\small\frac{p - 1}{2}}</math>
  
 +
Skąd łatwo widzimy, że
  
Uwzględniając, że <math>P^2 - R^2 \not\equiv 0 \pmod{p}</math>, możemy napisać
+
::<math>| Q | = | S | = {\small\frac{p - 1}{2}}</math>
  
::<math>2^{p - 2} (P^2 - R^2) U_{p - 1} \equiv - P (P^2 - R^2) (P^{p - 3} + P^{p - 5} R^2 + P^{p - 7} R^4 + \ldots + R^{p - 3}) \pmod{p}</math>
+
Ponieważ <math>Q \subseteq S</math>, a&nbsp;zbiory <math>Q</math> i <math>S</math> są równoliczne, to zbiory te są równe (zobacz J26). Prostą konsekwencją równości zbiorów <math>Q</math> i <math>S</math> jest stwierdzenie
  
::::::::<math>\equiv - P (P^{p - 1} - R^{p - 1}) \pmod{p}</math>
+
::{| border=0 style="background: #EEEEEE;"
 +
|-style=height:2.0em
 +
|&nbsp;&nbsp;&nbsp;liczba <math>a</math> jest liczbą kwadratową modulo <math>p</math> wtedy i&nbsp;tylko wtedy, gdy <math>a^{(p - 1) / 2} \equiv 1 \pmod{p}</math>&nbsp;&nbsp;&nbsp;
 +
|}
  
::::::::<math>\equiv 0 \pmod{p}</math>
+
Co kończy dowód punktu pierwszego.
  
Zauważmy, że wynik nie zależy od tego, czy <math>p \mid P</math>, czy <math>p \nmid P</math>. Skąd wynika
+
'''Punkt 2.'''
  
::<math>U_{p - 1} \equiv 0 \pmod{p}</math>
+
Z udowodnionego już punktu pierwszego wynika<ref name="logic1"/>, że
  
Co należało pokazać.<br/>
+
::{| border=0 style="background: #EEEEEE;"
&#9633;
+
|-style=height:2.0em
{{\Spoiler}}
+
|&nbsp;&nbsp;&nbsp;liczba <math>a</math> jest liczbą niekwadratową modulo <math>p</math> wtedy i&nbsp;tylko wtedy, gdy <math>a^{(p - 1) / 2} \not\equiv 1 \pmod{p}</math>&nbsp;&nbsp;&nbsp;
 +
|}
  
 +
Z twierdzenia Fermata
  
 +
::<math>a^{p - 1} - 1 = (a^{(p - 1) / 2} - 1) \cdot (a^{(p - 1) / 2} + 1) \equiv 0 \pmod{p}</math>
  
Aby zapisać punkty 2. i 3. twierdzenia L19 (i tylko te punkty) w&nbsp;zwartej formie, musimy założyć, że <math>\gcd (p, D) = 1</math>. Otrzymujemy<br/>
+
wynika natychmiast, że jeżeli <math>a^{(p - 1) / 2} - 1 \not\equiv 0 \pmod{p}</math>, to musi być
<span style="font-size: 110%; font-weight: bold;">Twierdzenie L20</span><br/>
 
Jeżeli <math>p</math> jest liczbą pierwszą nieparzystą i <math>\gcd (p, Q D) = 1</math>, to
 
  
::<math>U_{p - (D \mid p)} \equiv 0 \pmod{p}</math>
+
::<math>a^{(p - 1) / 2} + 1 \equiv 0 \pmod{p}</math>
  
 +
Fakt ten pozwala sformułować uzyskaną równoważność bardziej precyzyjnie
  
 +
::{| border=0 style="background: #EEEEEE;"
 +
|-style=height:2.0em
 +
|&nbsp;&nbsp;&nbsp;liczba <math>a</math> jest liczbą niekwadratową modulo <math>p</math> wtedy i&nbsp;tylko wtedy, gdy <math>a^{(p - 1) / 2} \equiv - 1 \pmod{p}</math>&nbsp;&nbsp;&nbsp;
 +
|}
  
 +
Co należało pokazać.<br/>
 +
&#9633;
 +
{{\Spoiler}}
  
  
== Liczby pseudopierwsze Lucasa ==
 
  
<span style="font-size: 110%; font-weight: bold;">Uwaga L21</span><br/>
+
<span style="font-size: 110%; font-weight: bold;">Zadanie J26</span><br/>
Z twierdzenia L20 wiemy, że liczby pierwsze nieparzyste <math>p</math> takie, że <math>p \nmid Q D</math> są dzielnikami wyrazów ciągu Lucasa <math>U_{p - (D \mid p)}</math>, gdzie <math>(D \mid p)</math> oznacza symbol Legendre'a. Jeśli zastąpimy symbol Legendre'a symbolem Jacobiego, to będziemy mogli badać prawdziwość tego twierdzenia dla liczb złożonych i&nbsp;łatwo przekonamy się, że dla pewnych liczb złożonych <math>m</math> kongruencja
+
Niech <math>A</math> i <math>B</math> będą zbiorami skończonymi. Pokazać, że jeżeli <math>A \subseteq B \;\; \text{i} \;\; | A | = | B |</math>, to <math>\; A = B</math>.
  
::<math>U_{m - (D \mid m)} \equiv 0 \pmod{m}</math>
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Rozwiązanie|Hide=Ukryj rozwiązanie}}
 +
Ponieważ zbiór <math>A</math> jest podzbiorem zbioru <math>B</math>, to zbiór <math>B</math> można przedstawić w&nbsp;postaci sumy zbiorów <math>A</math> i <math>C</math> takich, że żaden element zbioru <math>C</math> nie jest elementem zbioru <math>A</math>. Zatem
  
również jest prawdziwa. Prowadzi to definicji liczb pseudopierwszych Lucasa.
+
::<math>B = A \cup C \qquad \text{i} \qquad A \cap C = \varnothing</math>
  
 +
Ponieważ z&nbsp;założenia zbiory <math>A</math> i <math>C</math> są rozłączne, to wiemy, że
  
 +
::<math>| A \cup C | = | A | + | C |</math>
  
<span style="font-size: 110%; font-weight: bold;">Definicja L22</span><br/>
+
Czyli
Powiemy, że liczba złożona nieparzysta <math>m</math> jest liczbą pseudopierwszą Lucasa dla parametrów <math>P</math> i <math>Q</math> (symbolicznie: LPSP( <math>P, Q</math> )), jeżeli <math>\gcd (m, Q D) = 1</math> i
 
  
::<math>U_{m - (D \mid m)} \equiv 0 \pmod{m}</math>
+
::<math>| B | = | A \cup C | = | A | + | C |</math>
  
gdzie <math>(D \mid m)</math> oznacza symbol Jacobiego.
+
Skąd wynika, że <math>| C | = 0</math>, zatem zbiór <math>C</math> jest zbiorem pustym i&nbsp;otrzymujemy natychmiast <math>B = A</math>. Co należało pokazać.
  
  
 +
<span style="border-bottom-style: double;">Uwaga (przypadek zbiorów skończonych)</span><br/>
 +
Najczęściej prawdziwe jest jedynie oszacowanie <math>| A \cup C | \leqslant | A | + | C |</math>, bo niektóre elementy mogą zostać policzone dwa razy. Elementy liczone dwukrotnie to te, które należą do iloczynu zbiorów <math>| A |</math> i <math>| C |</math>, zatem od sumy <math>| A | + | C |</math> musimy odjąć liczbę elementów iloczynu zbiorów <math>| A |</math> i <math>| C |</math>. Co daje ogólny wzór<ref name="sumazbiorow"/>
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie L23</span><br/>
+
::<math>| A \cup C | = | A | + | C | - | A \cap C |</math><br/>
Jeżeli liczba złożona nieparzysta <math>m</math> jest liczbą pseudopierwszą Lucasa dla parametrów <math>P = a + 1</math> i <math>Q = a</math>, gdzie <math>a \geqslant 2</math>, to jest liczbą pseudopierwszą Fermata przy podstawie <math>a</math>.
+
&#9633;
 +
{{\Spoiler}}
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 
Połóżmy we wzorze definiującym ciąg Lucasa
 
  
::<math>U_m = {\small\frac{\alpha^m - \beta^m}{\alpha - \beta}}</math>
 
  
<math>\alpha = a</math> i <math>\beta = 1</math>. Odpowiada to parametrom <math>P = \alpha + \beta = a + 1</math>, <math>Q = \alpha \beta = a</math>, <math>D = (\alpha - \beta)^2 = (a - 1)^2</math>.
 
  
Ponieważ musi być <math>\gcd (m, Q D) = 1</math>, to mamy <math>\gcd (m, (a - 1) a) = 1</math> i&nbsp;wynika stąd, że <math>(D \mid m) = 1</math>. Z&nbsp;założenia <math>m</math> jest liczbą pseudopierwszą Lucasa dla parametrów <math>P = a + 1</math> i <math>Q = a</math>, zatem
 
  
::<math>U_{m - 1} (a + 1, a) \equiv 0 \pmod{m}</math>
+
== Symbol Legendre'a ==
  
Czyli
+
<span style="font-size: 110%; font-weight: bold;">Definicja J27</span><br/>
 +
Niech <math>p</math> będzie liczbą pierwszą nieparzystą i <math>a \in \mathbb{Z}</math>. Symbolem Legendre'a<ref name="legendre1"/> nazywamy funkcję <math>a</math> i <math>p</math> zdefiniowaną następująco
  
::<math>{\small\frac{a^{m - 1} - 1}{a - 1}} \equiv 0 \pmod{m}</math>
+
::<math>\left( {\small\frac{a}{p}} \right)_{\small{\!\! L}} =
 
+
\begin{cases}
Jeżeli <math>m \biggr\rvert {\small\frac{a^{m - 1} - 1}{a - 1}}</math>, to tym bardziej <math>m \big\rvert (a^{m - 1} - 1)</math> i&nbsp;możemy napisać
+
\;\;\: 1 & \text{gdy } \, a \, \text{ jest liczbą kwadratową modulo } \, p \,  \text{ oraz } \, p \nmid a \\
 +
      - 1 & \text{gdy } \, a \, \text{ jest liczbą niekwadratową modulo } \, p \\
 +
\;\;\: 0 & \text{gdy } \, p \mid a
 +
\end{cases}</math>
  
::<math>a^{m - 1} - 1 \equiv 0 \pmod{m}</math>
 
  
Zatem <math>m</math> jest liczbą pseudopierwszą Fermata przy podstawie <math>a</math>. Co należało pokazać.<br/>
 
&#9633;
 
{{\Spoiler}}
 
  
 +
<span style="font-size: 110%; font-weight: bold;">Uwaga J28</span><br/>
 +
Powyższa definicja pozwala nam zapisać kryterium Eulera w&nbsp;zwartej formie, która obejmuje również przypadek, gdy <math>p \mid a</math>
  
 +
::<math>a^{(p - 1) / 2} \equiv \left( {\small\frac{a}{p}} \right)_{\small{\!\! L}} \pmod{p}</math>
  
<span style="font-size: 110%; font-weight: bold;">Uwaga L24</span><br/>
 
Wykorzystując funkcje <code>jacobi(a, n)</code> i <code>modLucas(n, P, Q, m)</code> (zobacz J48, L15) możemy napisać prosty program, który sprawdza, czy dla liczby nieparzystej <math>m</math> prawdziwe jest twierdzenie L20.
 
  
<span style="font-size: 90%; color:black;">isPrimeOr<span style="background-color: #fee481;">LPSP</span>(m, P, Q) =
 
{
 
'''local'''(D, js);
 
D = P^2 - 4*Q;
 
'''if'''( gcd(m, 2*Q*D) > 1, '''return'''(0) );
 
js = jacobi(D, m);
 
'''if'''( modLucas(m - js, P, Q, m)[1] == 0, '''return'''(1), '''return'''(0) );
 
}
 
  
 +
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J29*</span><br/>
 +
Niech <math>a, b \in \mathbb{Z}</math> oraz <math>p, q</math> będą nieparzystymi liczbami pierwszymi. Symbol Legendre'a ma następujące właściwości
  
 
+
::{| class="wikitable plainlinks"  style="font-size: 100%; text-align: left; margin-right: auto;"
<span style="font-size: 110%; font-weight: bold;">Przykład L25</span><br/>
 
Poniższa tabela zawiera najmniejsze liczby pseudopierwsze Lucasa dla różnych parametrów <math>P</math> i <math>Q</math>
 
 
 
::{| class="wikitable plainlinks"  style="font-size: 90%; text-align: right; margin-right: auto;"
 
! &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<math>\boldsymbol{P}</math><br/><math>\boldsymbol{Q}</math>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 
! <math>\boldsymbol{1}</math> !! <math>\boldsymbol{2}</math> !! <math>\boldsymbol{3}</math> !! <math>\boldsymbol{4}</math> !! <math>\boldsymbol{5}</math> !! <math>\boldsymbol{6}</math> !! <math>\boldsymbol{7}</math> !! <math>\boldsymbol{8}</math> !! <math>\boldsymbol{9}</math> !! <math>\boldsymbol{10}</math>
 
 
|-
 
|-
! <math>\boldsymbol{- 5}</math>
+
| &nbsp;&nbsp;1.&nbsp;&nbsp; || <math>\left( {\small\frac{a}{p}} \right)_{\small{\!\! L}} \,\, = \,\, 0 \quad \Longleftrightarrow \quad \gcd (a, p) > 1</math>
| <math>253</math> || <math>121</math> || <math>57</math> || <math>217</math> || style="background-color: yellow" | <math>323</math> || <math>69</math> || <math>121</math> || <math>253</math> || <math>9</math> || style="background-color: yellow" | <math>143</math>  
 
 
|-
 
|-
! <math>\boldsymbol{- 4}</math>
+
| &nbsp;&nbsp;2.&nbsp;&nbsp; || <math>a \equiv b \pmod p \quad \Longrightarrow \quad \left( {\small\frac{a}{p}} \right)_{\small{\!\! L}} = \left( {\small\frac{b}{p}} \right)_{\small{\!\! L}}</math>
| <math>9</math> || style="background-color: yellow" | <math>323</math> || <math>91</math> || style="background-color: yellow" | <math>35</math> || style="background-color: yellow" | <math>15</math> || style="background-color: yellow" | <math>119</math> || <math>57</math> || <math>9</math> || <math>9</math> || <math>9</math>  
 
 
|-
 
|-
! <math>\boldsymbol{- 3}</math>
+
| &nbsp;&nbsp;3.&nbsp;&nbsp; || <math>\left( {\small\frac{a b}{p}} \right)_{\small{\!\! L}} \,\, = \,\, \left( {\small\frac{a}{p}} \right)_{\small{\!\! L}} \cdot  \left( {\small\frac{b}{p}} \right)_{\small{\!\! L}}</math>
| <math>217</math> || <math>91</math> || style="background-color: yellow" | <math>527</math> || <math>25</math> || style="background-color: yellow" | <math>35</math> || style="background-color: yellow" | <math>65</math> || style="background-color: yellow" | <math>35</math> || style="background-color: yellow" | <math>35</math> || style="background-color: yellow" | <math>35</math> || style="background-color: yellow" | <math>323</math>  
 
 
|-
 
|-
! <math>\boldsymbol{- 2}</math>
+
| &nbsp;&nbsp;4.&nbsp;&nbsp; || <math>a^{(p - 1) / 2} \equiv \left( {\small\frac{a}{p}} \right)_{\small{\!\! L}} \pmod{p}</math>
| <math>341</math> || style="background-color: yellow" | <math>209</math> || style="background-color: yellow" | <math>39</math> || <math>49</math> || <math>49</math> || style="background-color: yellow" | <math>15</math> || style="background-color: yellow" | <math>35</math> || style="background-color: yellow" | <math>35</math> || <math>9</math> || <math>85</math>  
 
 
|-
 
|-
! <math>\boldsymbol{- 1}</math>
+
| &nbsp;&nbsp;5.&nbsp;&nbsp; || <math>\left( {\small\frac{1}{p}} \right)_{\small{\!\! L}} \,\, = \,\, 1</math>
| style="background-color: yellow" | <math>323</math> || style="background-color: yellow" | <math>35</math> || style="background-color: yellow" | <math>119</math> || <math>9</math> || <math>9</math> || style="background-color: yellow" | <math>143</math> || <math>25</math> || <math>33</math> || <math>9</math> || style="background-color: yellow" | <math>15</math>  
 
 
|-
 
|-
! <math>\boldsymbol{1}</math>
+
| &nbsp;&nbsp;6.&nbsp;&nbsp; || <math>\left( {\small\frac{- 1}{p}} \right)_{\small{\!\! L}} \,\, = \,\, (- 1)^{\tfrac{p - 1}{2}} \,\, = \,\,
| <math>25</math> || style="background-color: red" | <math></math> || <math>21</math> || style="background-color: yellow" | <math>65</math> || style="background-color: yellow" | <math>115</math> || style="background-color: yellow" | <math>35</math> || style="background-color: yellow" | <math>323</math> || style="background-color: yellow" | <math>209</math> || <math>9</math> || style="background-color: yellow" | <math>35</math>
+
  \begin{cases}
 +
\;\;\: 1 & \text{gdy } p \equiv 1 \pmod{4} \\
 +
      - 1 & \text{gdy } p \equiv 3 \pmod{4}
 +
  \end{cases}</math>
 
|-
 
|-
! <math>\boldsymbol{2}</math>
+
| &nbsp;&nbsp;7.&nbsp;&nbsp; || <math>\left( {\small\frac{2}{p}} \right)_{\small{\!\! L}} \,\, = \,\, (- 1)^{\tfrac{p^2 - 1}{8}} \,\, = \,\,
| <math>1541</math> || <math>9</math> || <math>341</math> || style="background-color: yellow" | <math>35</math> || <math>21</math> || <math>85</math> || <math>9</math> || style="background-color: yellow" | <math>15</math> || <math>9</math> || style="background-color: yellow" | <math>35</math>  
+
  \begin{cases}
 +
\;\;\: 1 & \text{gdy } p \equiv 1, 7 \pmod{8} \\
 +
      - 1 & \text{gdy } p \equiv 3, 5 \pmod{8}
 +
  \end{cases}</math>
 
|-
 
|-
! <math>\boldsymbol{3}</math>
+
| &nbsp;&nbsp;8.&nbsp;&nbsp; || <math>\left( {\small\frac{- 2}{p}} \right)_{\small{\!\! L}} \,\, = \,\, (- 1)^{\tfrac{(p - 1)(p - 3)}{8}} \,\, = \,\,
| style="background-color: yellow" | <math>629</math> || style="background-color: yellow" | <math>559</math> || <math>25</math> || <math>91</math> || <math>49</math> || <math>49</math> || style="background-color: yellow" | <math>35</math> || <math>55</math> || <math>25</math> || style="background-color: yellow" | <math>35</math>  
+
  \begin{cases}
 +
\;\;\: 1 & \text{gdy } p \equiv 1, 3 \pmod{8} \\
 +
      - 1 & \text{gdy } p \equiv 5, 7 \pmod{8}
 +
  \end{cases}</math>
 
|-
 
|-
! <math>\boldsymbol{4}</math>
+
| &nbsp;&nbsp;9.&nbsp;&nbsp; || <math>\left( {\small\frac{p}{q}} \right)_{\small{\!\! L}} \,\, = \,\, \left( {\small\frac{q}{p}} \right)_{\small{\!\! L}} \cdot (-1)^{\tfrac{q - 1}{2} \cdot \tfrac{p - 1}{2}} \,\, = \,\, \left( {\small\frac{q}{p}} \right)_{\small{\!\! L}} \cdot
| style="background-color: yellow" | <math>119</math> || <math>25</math> || style="background-color: yellow" | <math>209</math> || style="background-color: red" | <math></math> || <math>85</math> || <math>21</math> || style="background-color: yellow" | <math>119</math> || style="background-color: yellow" | <math>65</math> || <math>9</math> || style="background-color: yellow" | <math>115</math>
+
\begin{cases}
|-
+
\;\;\: 1 & \text{gdy } p \equiv 1 \pmod{4} \;\;\; \text{lub} \;\;\; q \equiv 1 \pmod{4} \\
! <math>\boldsymbol{5}</math>
+
      - 1 & \text{gdy } p \equiv q \equiv 3 \pmod{4}
| <math>9</math> || style="background-color: yellow" | <math>143</math> || <math>49</math> || style="background-color: yellow" | <math>143</math> || style="background-color: yellow" | <math>323</math> || <math>217</math> || style="background-color: yellow" | <math>39</math> || <math>9</math> || <math>9</math> || <math>9</math>  
+
  \end{cases}</math>
 
|}
 
|}
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Pokaż kod|Hide=Ukryj kod}}
 
<span style="font-size: 90%; color:black;">FirstLPSP(Stop) =
 
\\ najmniejsze LPSP(P,Q) < Stop;  dla 1<=P<=10 i -5<=Q<=5
 
{
 
'''local'''(D, m, P, Q);
 
Q = -6;
 
'''while'''( Q++ <= 5,
 
        '''if'''( Q == 0, '''next'''() );
 
        P = 0;
 
        '''while'''( P++ <= 10,
 
              D = P^2 - 4*Q;
 
              '''if'''( D == 0,
 
                  '''print'''("Q= ", Q, "  P= ", P, "  ------------------");
 
                  '''next'''();
 
                );
 
              m = 3;
 
              '''while'''( m < Stop,
 
                      '''if'''( isPrimeOr<span style="background-color: #fee481;">LPSP</span>(m, P, Q)  &&  !'''isprime'''(m),
 
                          '''print'''("Q= ", Q, "  P= ", P, "  m= ", m, "  (D|m)= ", jacobi(D, m));
 
                          '''break'''();
 
                        );
 
                      m = m + 2;
 
                    );
 
            );
 
      );
 
}</span>
 
<br/>
 
{{\Spoiler}}
 
  
Żółtym tłem oznaczyliśmy te najmniejsze liczby pseudopierwsze Lucasa, dla których <math>(D \mid m) = - 1</math>.
 
  
  
  
<span style="font-size: 110%; font-weight: bold;">Przykład L26</span><br/>
+
== Symbol Jacobiego ==
Ilość liczb LPSP(<math>P, Q</math>) mniejszych od <math>10^9</math>
 
  
::{| class="wikitable plainlinks"  style="font-size: 90%; text-align: right; margin-right: auto;"
+
<span style="font-size: 110%; font-weight: bold;">Definicja J30</span><br/>
! &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<math>\boldsymbol{P}</math><br/><math>\boldsymbol{Q}</math>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
Niech liczby <math>a \in \mathbb{Z}</math> i <math>m \in \mathbb{Z}_+</math> będą względnie pierwsze. Powiemy, że liczba <math>a</math> jest liczbą kwadratową modulo <math>m</math>, jeżeli kongruencja
! <math>\boldsymbol{1}</math> !! <math>\boldsymbol{2}</math> !! <math>\boldsymbol{3}</math> !! <math>\boldsymbol{4}</math> !! <math>\boldsymbol{5}</math> !! <math>\boldsymbol{6}</math> !! <math>\boldsymbol{7}</math> !! <math>\boldsymbol{8}</math> !! <math>\boldsymbol{9}</math> !! <math>\boldsymbol{10}</math>  
 
|-
 
! <math>\boldsymbol{- 5}</math>
 
| <math>4266</math> || <math>4935</math> || <math>4278</math> || <math>4981</math> || <math>6363</math> || <math>6028</math> || <math>5202</math> || <math>4426</math> || <math>5832</math> || <math>6027</math>
 
|-
 
! <math>\boldsymbol{- 4}</math>
 
| <math>4599</math> || <math>4152</math> || <math>9272</math> || <math>5886</math> || <math>6958</math> || <math>4563</math> || <math>5600</math> || <math>9509</math> || <math>7007</math> || <math>4142</math>
 
|-
 
! <math>\boldsymbol{- 3}</math>
 
| <math>4265</math> || <math>5767</math> || <math>4241</math> || <math>5114</math> || <math>5859</math> || <math>7669</math> || <math>6083</math> || <math>6120</math> || <math>4420</math> || <math>5096</math>
 
|-
 
! <math>\boldsymbol{- 2}</math>
 
| <math>5361</math> || <math>4389</math> || <math>5063</math> || <math>5632</math> || <math>5364</math> || <math>5228</math> || <math>5859</math> || <math>10487</math> || <math>5370</math> || <math>9798</math>
 
|-
 
! <math>\boldsymbol{- 1}</math>
 
| <math>4152</math> || <math>5886</math> || <math>4563</math> || <math>9509</math> || <math>4142</math> || <math>6273</math> || <math>5773</math> || <math>4497</math> || <math>5166</math> || <math>5305</math>
 
|-
 
! <math>\boldsymbol{1}</math>
 
| <math>282485800</math> || style="background-color: red" | <math></math> || <math>6567</math> || <math>7669</math> || <math>7131</math> || <math>10882</math> || <math>8626</math> || <math>8974</math> || <math>8509</math> || <math>8752</math>
 
|-
 
! <math>\boldsymbol{2}</math>
 
| <math>7803</math> || <math>449152466</math> || <math>5597</math> || <math>5886</math> || <math>6509</math> || <math>5761</math> || <math>8115</math> || <math>6945</math> || <math>8380</math> || <math>7095</math>
 
|-
 
! <math>\boldsymbol{3}</math>
 
| <math>5974</math> || <math>8768</math> || <math>282485800</math> || <math>5767</math> || <math>5651</math> || <math>5632</math> || <math>6640</math> || <math>5725</math> || <math>6058</math> || <math>7050</math>
 
|-
 
! <math>\boldsymbol{4}</math>
 
| <math>10749</math> || <math>282485800</math> || <math>14425</math> || style="background-color: red" | <math></math> || <math>9735</math> || <math>6567</math> || <math>8164</math> || <math>7669</math> || <math>7608</math> || <math>7131</math>
 
|-
 
! <math>\boldsymbol{5}</math>
 
| <math>5047</math> || <math>15127</math> || <math>6155</math> || <math>15127</math> || <math>4152</math> || <math>5146</math> || <math>4423</math> || <math>5526</math> || <math>6289</math> || <math>9509</math>
 
|}
 
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Pokaż kod|Hide=Ukryj kod}}
+
::<math>x^2 \equiv a \pmod{m}</math>
<span style="font-size: 90%; color:black;">NumOfLPSP(Stop) =
 
\\ ilość liczb pseudopierwszych Lucasa LPSP(P,Q) < Stop;  dla 1<=P<=10 i -5<=Q<=5
 
{
 
'''local'''(D, m, P, Q);
 
Q = -6;
 
'''while'''( Q++ <= 5,
 
        '''if'''( Q == 0, '''next'''() );
 
        P = 0;
 
        '''while'''( P++ <= 10,
 
              D = P^2 - 4*Q;
 
              '''if'''( D == 0, '''print'''("Q= ", Q, "  P= ", P, "  ------------------"); '''next'''() );
 
              s = 0;
 
              m = 3;
 
              '''while'''( m < Stop,
 
                      '''if'''( isPrimeOr<span style="background-color: #fee481;">LPSP</span>(m, P, Q)  &&  !'''isprime'''(m), s++ );
 
                      m = m + 2;
 
                    );
 
              '''print'''("Q= ", Q, "  P= ", P, "  s= ", s);
 
            );
 
      );
 
}</span>
 
<br/>
 
{{\Spoiler}}
 
  
 +
ma rozwiązanie, czyli istnieje taka liczba <math>k \in \mathbb{Z}</math>, że <math>m \mid (k^2 - a)</math>.
  
 +
Powiemy, że liczba <math>a</math> jest liczbą niekwadratową modulo <math>m</math>, jeżeli kongruencja
  
<span style="font-size: 110%; font-weight: bold;">Uwaga L27</span><br/>
+
::<math>x^2 \equiv a \pmod{m}</math>
Dla <math>(P, Q) = (1, 1)</math> ciąg Lucasa <math>(U_n)</math> ma postać
 
  
::<math>(U_n) = (0, 1, 1, 0, - 1, - 1, 0, 1, 1, 0, - 1, - 1, 0, 1, 1, 0, - 1, - 1, 0, 1, 1, \ldots)</math>
+
nie ma rozwiązania.
  
Stosując indukcję matematyczną, udowodnimy, że <math>U_{3 k} = 0</math>. Łatwo sprawdzamy, że dla <math>k = 0</math> i <math>k = 1</math> wzór jest prawdziwy. Zakładając prawdziwość wzoru dla wszystkich liczb naturalnych nie większych od <math>k</math>, otrzymujemy dla <math>k + 1</math> (zobacz L13 p.3)
 
  
::<math>U_{3 (k + 1)} = U_{3 k + 3} = U_{3 k} V_3 - U_{3 (k - 1)} = 0</math>
 
  
Co kończy dowód. Zbadajmy liczby pseudopierwsze Lucasa dla <math>(P, Q) = (1, 1)</math>.
+
<span style="font-size: 110%; font-weight: bold;">Uwaga J31</span><br/>
 +
Prosta funkcja pozwala łatwo sprawdzić, czy liczba <math>a</math> jest liczbą kwadratową modulo <math>m</math>.
  
Mamy <math>D = P^2 - 4 Q = - 3</math>. Wynika stąd, że nie może być <math>3 \mid m</math>, bo mielibyśmy <math>\gcd (m, Q D) = 3 > 1</math>.
+
<span style="font-size: 90%; color:black;">isQR(a, m) =  
 +
\\ funkcja zwraca 1, gdy a jest liczbą kwadratową modulo m,
 +
\\ -1, gdy a jest liczbą niekwadratową i 0, gdy gcd(a, m) > 1
 +
{
 +
'''local'''(w);
 +
'''if'''( '''gcd'''(a, m) > 1, '''return'''(0) ); \\ liczba nie jest ani QR, ani QNR
 +
w = -1;
 +
'''for'''(k = 1, '''floor'''(m/2), '''if'''( (k^2 - a)%m == 0, w = 1; '''break'''() ));
 +
'''return'''(w);
 +
}</span>
  
Z zadania J46 wiemy, że
 
  
::<math>(- 3 \mid m) =
 
\begin{cases}
 
\;\;\: 1 & \text{gdy } m = 6 k + 1 \\
 
\;\;\: 0 & \text{gdy } m = 6 k + 3 \\
 
      - 1 & \text{gdy } m = 6 k + 5
 
\end{cases}</math>
 
  
Ponieważ <math>3 \nmid m</math>, to wystarczy zbadać przypadki <math>m = 6 k + 1</math> i <math>m = 6 k + 5</math>. W&nbsp;pierwszym przypadku jest
+
<span style="font-size: 110%; font-weight: bold;">Uwaga J32</span><br/>
 +
Ponieważ często można spotkać definicję liczb kwadratowych i&nbsp;niekwadratowych modulo <math>m</math>, w&nbsp;której warunek <math>\gcd (a, m) = 1</math> zostaje pominięty, to Czytelnik powinien zawsze upewnić się, jaka definicja jest stosowana. Najczęściej w&nbsp;takim przypadku liczba <math>0</math> nie jest uznawana za liczbę kwadratową modulo <math>m</math>.
  
::<math>U_{m - (- 3 \mid m)} = U_{6 k + 1 - 1} = U_{6 k} = 0</math>
+
Przykładowo:
  
W drugim przypadku, gdy <math>m = 6 k + 5</math>, dostajemy
+
::<math>\left\{ 0^2, 1^2, 2^2, 3^2, 4^2, 5^2, 6^2, 7^2, 8^2, 9^2 \right\} \equiv \left\{ 0, 1, 4, 9, 6, 5, 6, 9, 4, 1 \right\} \pmod{10}</math>
  
::<math>U_{m - (- 3 \mid m)} = U_{6 k + 5 + 1} = U_{6 (k + 1)} = 0</math>
+
Liczby kwadratowe modulo <math>10</math> to <math>\left\{ 1, 9 \right\}</math>, a&nbsp;niekwadratowe to <math>\left\{ 3, 7 \right\}</math>. Liczby <math>\left\{ 0, 2, 4, 5, 6, 8 \right\}</math> nie są ani liczbami kwadratowymi, ani liczbami niekwadratowymi modulo <math>10</math>.
  
Zatem dla dowolnej liczby nieparzystej <math>m</math> niepodzielnej przez <math>3</math> jest
+
Jeśli odrzucimy warunek <math>\gcd (a, m) = 1</math>, to liczbami kwadratowymi modulo <math>10</math> będą <math>\left\{ 0, 1, 4, 5, 6, 9 \right\}</math>, a&nbsp;niekwadratowymi <math>\left\{ 2, 3, 7, 8 \right\}</math>.
  
::<math>U_{m - (- 3 \mid m)} \equiv 0 \pmod{m}</math>
+
Inny przykład. Niech <math>m = 210 = 2 \cdot 3 \cdot 5 \cdot 7</math>. W&nbsp;zależności od przyjętej definicji najmniejszą liczbą niekwadratową modulo <math>m</math> będzie albo <math>11</math>, albo <math>2</math>.
  
Czyli liczbami pseudopierwszymi Lucasa dla parametrów <math>(P, Q) = (1, 1)</math> będą liczby nieparzyste <math>m</math>, które nie są podzielne przez <math>3</math> i&nbsp;nie są liczbami pierwszymi. Ilość takich liczb nie większych od <math>10^k</math> możemy łatwo znaleźć poleceniem
 
  
'''for'''(k = 1, 9, s = 0; '''forstep'''(m = 3, 10^k, 2, '''if'''( m%6 <> 3, s = s + !'''isprime'''(m) )); '''print'''(s))
 
  
 +
<span style="font-size: 110%; font-weight: bold;">Zadanie J33</span><br/>
 +
Niech liczby <math>m, n \in \mathbb{Z}_+</math> i <math>\gcd (m, n) = 1</math>. Pokazać, że liczba <math>a \in \mathbb{Z}</math> jest liczbą kwadratową modulo <math>m n</math> wtedy i&nbsp;tylko wtedy, gdy jest liczbą kwadratową modulo <math>m</math> i&nbsp;modulo <math>n</math>.
  
 +
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Rozwiązanie|Hide=Ukryj rozwiązanie}}
 +
Niech <math>W(x) = x^2 - a</math>. Zauważmy, że liczba <math>a</math> jest liczbą kwadratową modulo <math>m</math> wtedy i&nbsp;tylko wtedy, gdy kongruencja <math>W(x) \equiv 0 \!\! \pmod{m}</math> ma rozwiązanie. Dalsza analiza problemu przebiega dokładnie tak, jak to zostało przedstawione w&nbsp;uwadze J11.<br/>
 +
&#9633;
 +
{{\Spoiler}}
  
<span style="font-size: 110%; font-weight: bold;">Zadanie L28</span><br/>
 
Pokazać, że ilość liczb pseudopierwszych Lucasa dla parametrów <math>(P, Q) = (2, 2)</math> nie większych od <math>10^k</math> możemy znaleźć poleceniem
 
  
'''for'''(k = 1, 9, s = 0; '''forstep'''(m = 3, 10^k, 2, s = s + !'''isprime'''(m)); '''print'''(s))
 
  
 +
<span style="font-size: 110%; font-weight: bold;">Definicja J34</span><br/>
 +
Symbol Jacobiego<ref name="jacobi1"/> <math>\left( {\small\frac{a}{n}} \right)_{\small{\!\! J}}</math> jest uogólnieniem symbolu Legendre'a <math>\left( {\small\frac{a}{p}} \right)_{\small{\!\! L}}</math> dla dodatnich liczb nieparzystych.
 +
Niech <math>n = \prod_i p_i^{\alpha_i}</math> będzie rozkładem liczby <math>n</math> na czynniki pierwsze, wtedy
  
 +
::<math>\left( {\small\frac{a}{n}} \right)_{\small{\!\! J}} = \prod_i \left( {\small\frac{a}{p_i}} \right)_{\small{\!\! L}}^{\!\! \alpha_i}</math>
  
  
  
== Metoda Selfridge'a wyboru parametrów <math>P</math> i <math>Q</math> ==
+
<span style="font-size: 110%; font-weight: bold;">Uwaga J35</span><br/>
 +
Zauważmy, że w&nbsp;przypadku gdy <math>n = 1</math>, po prawej stronie mamy „pusty” iloczyn (bez jakiegokolwiek czynnika). Podobnie jak „pustej” sumie przypisujemy wartość zero, tak „pustemu” iloczynowi przypisujemy wartość jeden. Zatem dla dowolnego <math>a \in \mathbb{Z}</math> jest <math>\left( {\small\frac{a}{1}} \right)_{\small{\!\! J}} = 1</math>.
  
<span style="font-size: 110%; font-weight: bold;">Uwaga L29</span><br/>
 
Twierdzenie L20 możemy wykorzystać do testowania pierwszości liczb. Ponieważ musi być spełniony warunek <math>\gcd (m, Q D) = 1</math>, to nie każda para liczb <math>P, Q</math> (np. wybrana losowo) nadaje się do przeprowadzenia testu. Zawsze będziemy zmuszeni określić zasadę postępowania, która doprowadzi do wyboru właściwej pary <math>P, Q</math>.
 
  
Robert Baillie i&nbsp;Samuel Wagstaff przedstawili<ref name="BaillieWagstaff1"/> dwie metody wyboru parametrów dla testu Lucasa. Ograniczymy się do omówienia tylko pierwszej z&nbsp;nich (metodę zaproponował John Selfridge).
 
  
Rozważmy ciąg <math>a_k = (- 1)^k (2 k + 1)</math>, gdzie <math>k \geqslant 2</math>, czyli <math>a_k = (5, - 7, 9, - 11, 13, - 15, \ldots)</math>. Niech <math>D</math> będzie pierwszym wyrazem ciągu <math>(a_k)</math>, dla którego jest <math>(a_k \mid m) = - 1</math>. Dla tak ustalonego <math>D</math> przyjmujemy <math>P = 1</math> i <math>Q = (1 - D) / 4</math>.
+
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J36*</span><br/>
 +
Niech <math>a, b \in \mathbb{Z}</math> oraz <math>m, n \in \mathbb{Z}_+</math> i <math>m, n</math> będą liczbami nieparzystymi. Symbol Jacobiego ma następujące właściwości
  
Tabela przedstawia początkowe wartości <math>Q</math>, jakie otrzymamy, stosując tę metodę.
+
::{| class="wikitable plainlinks"  style="font-size: 100%; text-align: left; margin-right: auto;"
 
+
|-
::{| class="wikitable plainlinks"  style="font-size: 90%; text-align: right; margin-right: auto;"
+
| &nbsp;&nbsp;1.&nbsp;&nbsp; || <math>\left( {\small\frac{a}{n}} \right)_{\small{\!\! J}} \,\, = \,\, 0 \quad \Longleftrightarrow \quad \gcd (a, n) > 1</math>
! <math>\boldsymbol{k}</math>
+
|-
| <math>2</math> || <math>3</math> || <math>4</math> || <math>5</math> || <math>6</math> || <math>7</math> || <math>8</math> || <math>9</math> || <math>10</math> || <math>11</math> || <math>12</math> || <math>13</math> || <math>14</math> || <math>15</math> || <math>16</math> || <math>17</math> || <math>18</math> || <math>19</math> || <math>20</math>
+
| &nbsp;&nbsp;2.&nbsp;&nbsp; || <math>a \equiv b \pmod n \quad \Longrightarrow \quad \left( {\small\frac{a}{n}} \right)_{\small{\!\! J}} = \left( {\small\frac{b}{n}} \right)_{\small{\!\! J}}</math>
 +
|-
 +
| &nbsp;&nbsp;3.&nbsp;&nbsp; || <math>\left( {\small\frac{a b}{n}} \right)_{\small{\!\! J}} \,\, = \,\, \left( {\small\frac{a}{n}} \right)_{\small{\!\! J}} \cdot  \left( {\small\frac{b}{n}} \right)_{\small{\!\! J}}</math>
 +
|-
 +
| &nbsp;&nbsp;4.&nbsp;&nbsp; || <math>\left( {\small\frac{a}{m n}} \right)_{\small{\!\! J}} \,\, = \,\, \left( {\small\frac{a}{m}} \right)_{\small{\!\! J}} \cdot  \left( {\small\frac{a}{n}} \right)_{\small{\!\! J}}</math>
 
|-
 
|-
!  <math>\boldsymbol{a_k}</math>
+
| &nbsp;&nbsp;5.&nbsp;&nbsp; || <math>\left( {\small\frac{1}{n}} \right)_{\small{\!\! J}} \,\, = \,\, 1</math>
| <math>5</math> || <math>-7</math> || <math>9</math> || <math>-11</math> || <math>13</math> || <math>-15</math> || <math>17</math> || <math>-19</math> || <math>21</math> || <math>-23</math> || <math>25</math> || <math>-27</math> || <math>29</math> || <math>-31</math> || <math>33</math> || <math>-35</math> || <math>37</math> || <math>-39</math> || <math>41</math>
 
 
|-
 
|-
!  <math>\boldsymbol{Q}</math>
+
| &nbsp;&nbsp;6.&nbsp;&nbsp; || <math>\left( {\small\frac{- 1}{n}} \right)_{\small{\!\! J}} \,\, = \,\, (- 1)^{\tfrac{n - 1}{2}} \,\, = \,\,
| <math>-1</math> || <math>2</math> || style="background-color: red" | <math>-2</math> || <math>3</math> || <math>-3</math> || <math>4</math> || <math>-4</math> || <math>5</math> || <math>-5</math> || <math>6</math> || style="background-color: red" | <math>-6</math> || <math>7</math> || <math>-7</math> || <math>8</math> || <math>-8</math> || <math>9</math> || <math>-9</math> || <math>10</math> || <math>-10</math>
 
|}
 
 
 
 
 
Zauważmy, że
 
:* jeżeli liczba nieparzysta <math>m</math> jest liczbą kwadratową, to wybór <math>D</math> nie będzie możliwy
 
:* w&nbsp;przypadku zastosowania tej metody znajdziemy tylko liczby pierwsze lub pseudopierwsze Lucasa, które spełniają kongruencję <math>U_{m + 1} \equiv 0 \pmod{m}</math>, czyli tylko część liczb pseudopierwszych Lucasa określonych w&nbsp;definicji L22
 
 
 
 
 
Ponieważ Baillie i&nbsp;Wagstaff określili metodę zaproponowaną przez Selfridge'a jako metodę A, to pozostaniemy przy tej nazwie. Korzystając ze wzoru rekurencyjnego
 
 
 
::<math> a_{k+1} =  
 
 
   \begin{cases}
 
   \begin{cases}
  \qquad \qquad 5 & \text{gdy } k = 1\\
+
\;\;\: 1 & \text{gdy } n \equiv 1 \pmod{4} \\
       - a_k - 2 * \mathop{\textnormal{sign}}( a_k ) & \text{gdy } k \geqslant 2
+
       - 1 & \text{gdy } n \equiv 3 \pmod{4}
 
   \end{cases}</math>
 
   \end{cases}</math>
 
możemy łatwo napisać odpowiednią funkcję znajdującą liczby <math>P, Q</math> według tej metody.
 
 
<span style="font-size: 90%; color:black;">MethodA(m) =
 
{
 
'''local'''(a, js);
 
a = 5;
 
'''while'''( 1,
 
        js = jacobi(a, m);
 
        '''if'''( js == 0  &&  a % m <> 0, '''return'''([0, 0]) );
 
        '''if'''( js == -1, '''return'''([1, (1 - a)/4]) );
 
        a = -a - 2*'''sign'''(a);
 
      );
 
}</span>
 
 
Wyjaśnienia wymaga druga linia kodu w&nbsp;pętli <code>while</code>. Wiemy, że (zobacz J42)
 
 
::<math>(a \mid m) = 0 \quad \qquad \Longleftrightarrow \quad \qquad \gcd (a, m) > 1</math>
 
 
Jednak z&nbsp;faktu, że <math>\gcd (a, m) > 1</math> nie wynika natychmiast, że liczba <math>m</math> jest liczbą złożoną. Rozważmy dwa przypadki: gdy <math>m \mid a</math> i <math>m \nmid a</math>.
 
 
Gdy <math>\gcd (a, m) > 1</math> i <math>m \mid a</math>, to <math>\gcd (a, m) = \gcd (k \cdot m, m) = m > 1</math> i&nbsp;nie jesteśmy w&nbsp;stanie rozstrzygnąć, czy liczba <math>m</math> jest liczbą pierwszą, czy złożoną. Widać to dobrze na prostych przykładach
 
 
::<math>\gcd (7, 7) = \gcd (14, 7) = 7 > 1</math>
 
 
::<math>\gcd (15, 15) = \gcd (30, 15) = 15 > 1</math>
 
 
Gdy <math>\gcd (a, m) > 1</math> i <math>m \nmid a</math>, to <math>m</math> jest liczbą złożoną. Ponieważ <math>m \nmid a</math>, to <math>a = k \cdot m + r</math>, gdzie <math>r \in [1, m - 1]</math>. Mamy
 
 
::<math>\gcd (a, m) = \gcd (k \cdot m + r, m) = \gcd (r, m) = d</math>
 
 
Musi być <math>d > 1</math>, bo założyliśmy, że <math>\gcd (a, m) > 1</math> i&nbsp;musi być <math>d < m</math>, bo <math>d \leqslant r \leqslant m - 1</math>. Zatem <math>d</math> jest dzielnikiem nietrywialnym liczby <math>m</math> i <math>m</math> jest liczbą złożoną.
 
 
Omawiana linia kodu zapewnia wysłanie informacji o&nbsp;tym, że liczba <math>m</math> jest liczbą złożoną (zwrot wektora [0, 0]). W&nbsp;przypadku, gdy nie mamy takiej pewności, kontynuujemy szukanie liczby <math>a</math>, takiej że <math>(a \mid m) = - 1</math>, pozostawiając zbadanie pierwszości liczby <math>m</math> na kolejnym etapie testowania.
 
 
 
Uważny Czytelnik dostrzeże, że nie zbadaliśmy, czy spełniony jest warunek <math>\gcd (m, Q) = 1</math>. Nie musimy tego robić, bo zwracana przez funkcję <code>MethodA()</code> liczba <math>Q</math> jest względnie pierwsza z <math>m</math>. Omówimy ten problem dokładnie w&nbsp;zadaniu L30. Poniżej pokażemy, że nawet gdyby było <math>\gcd (m, Q) > 1</math>, to złożona liczba <math>m</math> nie zostanie uznana za liczbę pseudopierwszą Lucasa.
 
 
Zauważmy, że jeżeli <math>m</math> jest liczbą złożoną i&nbsp;ma dzielnik pierwszy <math>p < m</math>, który dzieli <math>Q</math>, to <math>p \mid Q</math> i <math>p \nmid P</math> (bo <math>P = 1</math>), zatem <math>p \nmid U_k</math> dla <math>k \geqslant 1</math> (zobacz L17), czyli nie może być
 
 
::<math>U_{m + 1} (1, Q) \equiv 0 \pmod{m}</math>
 
 
bo mielibyśmy
 
 
::<math>U_{m + 1} (1, Q) \equiv 0 \pmod{p}</math>
 
 
a to jest niemożliwe. Zatem program wykorzystujący twierdzenie L20 wykryje złożoność liczby <math>m</math>.
 
 
Łatwo pokażemy, że nie jest możliwe, aby liczba <math>m</math> była liczbą pierwszą i&nbsp;była dzielnikiem <math>Q</math>. Jeżeli <math>m</math> jest liczbą pierwszą, to istnieje dokładnie <math>\tfrac{m - 1}{2}</math> liczb kwadratowych modulo <math>p</math> i <math>\tfrac{m - 1}{2}</math> liczb niekwadratowych modulo <math>p</math>, zatem rozpoczynając od wyrazu <math>a_2</math> możemy dojść co najwyżej do wyrazu o&nbsp;indeksie <math>k = \tfrac{m - 1}{2} + 2</math>, czyli
 
 
::<math>| a_k | \leqslant m + 4</math>
 
 
Skąd wynika, że
 
 
::<math>| Q | = \left| {\small\frac{1 - a_k}{4}} \right| \leqslant {\small\frac{m + 5}{4}} < m</math>
 
 
Ostatnia nierówność jest prawdziwa dla <math>m > {\small\frac{5}{3}}</math>, czyli dla wszystkich liczb pierwszych. Ponieważ <math>| Q | < m</math>, w&nbsp;przypadku gdy <math>m</math> jest liczbą pierwszą, to <math>m</math> nie może być dzielnikiem liczby <math>Q</math>.
 
 
 
 
<span style="font-size: 110%; font-weight: bold;">Zadanie L30</span><br/>
 
Pokazać, że w&nbsp;przypadku, gdy dla kolejnych liczb <math>a_k = (- 1)^k (2 k + 1)</math> sprawdzamy, czy konsekwencją <math>(a_k \mid m) = 0</math> jest złożoność liczby <math>m</math>, to dla każdej liczby <math>Q</math> wyznaczonej metodą Selfridge'a jest <math>\gcd (Q, m) = 1</math>.
 
 
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Rozwiązanie|Hide=Ukryj rozwiązanie}}
 
Niech <math>m = 21</math>. Rozpoczniemy od przykładu liczb <math>a_k = (- 1)^k (2 k + 1)</math> dla <math>k = 0, 1, \ldots, m - 1</math>.
 
 
::{| class="wikitable plainlinks"  style="font-size: 90%; text-align: center; margin-right: auto;"
 
! <math>\boldsymbol{k}</math> !! <math>\boldsymbol{0}</math> !!  !!  !!  !!  !!  !!  !!  !!  !!  !! <math>\boldsymbol{(m-1)/2}</math> !!  !!  !!  !!  !!  !!  !!  !!  !!  !! <math>\boldsymbol{m-1}</math>
 
 
|-
 
|-
! <math>\boldsymbol{k}</math>
+
| &nbsp;&nbsp;7.&nbsp;&nbsp; || <math>\left( {\small\frac{2}{n}} \right)_{\small{\!\! J}} \,\, = \,\, (- 1)^{\tfrac{n^2 - 1}{8}} \,\, = \,\,
| <math>0</math> || <math>1</math> || <math>2</math> || <math>3</math> || <math>4</math> || <math>5</math> || <math>6</math> || <math>7</math> || <math>8</math> || <math>9</math> || <math>10</math> || <math>11</math> || <math>12</math> || <math>13</math> || <math>14</math> || <math>15</math> || <math>16</math> || <math>17</math> || <math>18</math> || <math>19</math> || <math>20</math>
+
  \begin{cases}
 +
\;\;\: 1 & \text{gdy } n \equiv 1, 7 \pmod{8} \\
 +
      - 1 & \text{gdy } n \equiv 3, 5 \pmod{8}
 +
  \end{cases}</math>
 
|-
 
|-
! <math>\boldsymbol{a_k}</math>
+
| &nbsp;&nbsp;8.&nbsp;&nbsp; || <math>\left( {\small\frac{- 2}{n}} \right)_{\small{\!\! J}} \,\, = \,\, (- 1)^{\tfrac{(n - 1)(n - 3)}{8}} \,\, = \,\,
| <math>1</math> || <math>-3</math> || <math>5</math> || <math>-7</math> || <math>9</math> || <math>-11</math> || <math>13</math> || <math>-15</math> || <math>17</math> || <math>-19</math> || <math>21</math> || <math>-23</math> || <math>25</math> || <math>-27</math> || <math>29</math> || <math>-31</math> || <math>33</math> || <math>-35</math> || <math>37</math> || <math>-39</math> || <math>41</math>
+
  \begin{cases}
 +
\;\;\: 1 & \text{gdy } n \equiv 1, 3 \pmod{8} \\
 +
      - 1 & \text{gdy } n \equiv 5, 7 \pmod{8}
 +
  \end{cases}</math>
 
|-
 
|-
! <math>\boldsymbol{R_m(a_k)}</math>
+
| &nbsp;&nbsp;9.&nbsp;&nbsp; || <math>\left( {\small\frac{m}{n}} \right)_{\small{\!\! J}} \,\, = \,\, \left( {\small\frac{n}{m}} \right)_{\small{\!\! J}} \cdot (-1)^{\tfrac{n - 1}{2} \cdot \tfrac{m - 1}{2}} \,\, = \,\, \left( {\small\frac{n}{m}} \right)_{\small{\!\! J}} \cdot
| <math>1</math> || <math>18</math> || <math>5</math> || <math>14</math> || <math>9</math> || <math>10</math> || <math>13</math> || <math>6</math> || <math>17</math> || <math>2</math> || <math>0</math> || <math>19</math> || <math>4</math> || <math>15</math> || <math>8</math> || <math>11</math> || <math>12</math> || <math>7</math> || <math>16</math> || <math>3</math> || <math>20</math>
+
\begin{cases}
 +
\;\;\: 1 & \text{gdy } m \equiv 1 \pmod{4} \;\;\; \text{lub} \;\;\; n \equiv 1 \pmod{4} \\
 +
      - 1 & \text{gdy } m \equiv n \equiv 3 \pmod{4}
 +
  \end{cases}</math>
 
|}
 
|}
  
Zauważmy, że modulo <math>21</math> ciąg <math>(a_k) = (1, - 3, 5, - 7, \ldots, 37, - 39, 41)</math> jest identyczny z&nbsp;ciągiem <math>(0, 1, 2, \ldots, 19, 20)</math>, a&nbsp;ciąg <math>(| a_k |)</math> to kolejne liczby nieparzyste od <math>1</math> do <math>2 m - 1</math>.
 
  
  
Poniżej pokażemy, dlaczego musi być <math>\gcd (Q, m) = 1</math>, gdzie <math>Q</math> jest liczbą wyznaczoną metodą Selfridge'a (o ile sprawdzana jest złożoność liczby <math>m</math> przy testowaniu kolejnych liczb <math>a_k</math>). Pogrubioną czcionką zaznaczone są symbole Jacobiego, które wykryły złożoność liczby <math>m</math>. Gdyby nie była badana złożoność, to wyliczona zostałaby wartość <math>Q</math> na podstawie innego wyrazu ciągu <math>a_k</math> (ten symbol Jacobiego został zapisany zwykłą czcionką).
+
<span style="font-size: 110%; font-weight: bold;">Uwaga J37</span><br/>
 +
Zauważmy, że poza zmienionym założeniem tabela z&nbsp;powyższego twierdzenia i&nbsp;tabela z&nbsp;twierdzenia J29 różnią się jedynie punktem czwartym. Oczywiście jest to tylko podobieństwo formalne – symbol Legendre'a i&nbsp;symbol Jacobiego są różnymi funkcjami.
  
::<math>m = 3 , \;\; (5 \mid 3) = - 1 , \;\; Q = - 1 , \;\; \gcd (m, Q) = 1</math>
 
  
::<math>m = 5 , \;\; (5 \mid 5) = 0 , \;\; (- 7 \mid 5) = - 1 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1 \;\;</math> (zauważmy, że <math>(5 \mid 5) = 0</math> nie pozwala wnioskować o&nbsp;złożoności)
 
  
::<math>m = 7 , \;\; (5 \mid 7) = - 1 , \;\; Q = - 1 , \;\; \gcd (m, Q) = 1</math>
+
<span style="font-size: 110%; font-weight: bold;">Uwaga J38</span><br/>
 +
Zauważmy, że w&nbsp;przypadku, gdy <math>m</math> jest liczbą nieparzystą
  
::<math>m = 9 , \;\; </math> (liczba kwadratowa)
+
:* jeżeli <math>\left( {\small\frac{a}{m}} \right)_{\small{\!\! J}} = - 1</math>, to <math>a</math> jest liczbą niekwadratową modulo <math>m</math>
 +
:* jeżeli <math>a</math> jest liczbą niekwadratową modulo <math>m</math>, to '''nie musi być''' <math>\left( {\small\frac{a}{m}} \right)_{\small{\!\! J}} = - 1</math>
 +
:* jeżeli <math>\left( {\small\frac{a}{m}} \right)_{\small{\!\! J}} = + 1</math>, to <math>a</math> '''nie musi być''' liczbą kwadratową modulo <math>m</math>
 +
:* jeżeli <math>a</math> jest liczbą kwadratową modulo <math>m</math>, to jest <math>\left( {\small\frac{a}{m}} \right)_{\small{\!\! J}} = + 1</math>
  
::<math>m = 11 , \;\; (- 11 \mid 11) = 0 , \;\; (13 \mid 11) = - 1 , \;\; Q = - 3 , \;\; \gcd (m, Q) = 1 \;\;</math> (zauważmy, że <math>(- 11 \mid 11) = 0</math> nie pozwala wnioskować o&nbsp;złożoności)
+
Przykład: jeżeli <math>\gcd (a, m) = 1</math>, to <math>\left( {\small\frac{a}{m^2}} \right)_{\small{\!\! J}} = \left( {\small\frac{a}{m}} \right)_{\small{\!\! J}}^2 = + 1</math>, ale <math>a</math> może być liczbą niekwadratową modulo <math>m^2</math>.
  
::<math>m = 13 , \;\; (5 \mid 13) = - 1 , \;\; Q = - 1 , \;\; \gcd (m, Q) = 1</math>
+
Modulo <math>9</math> liczbami niekwadratowymi są: <math>2, 5, 8</math>. Modulo <math>25</math> liczbami niekwadratowymi są: <math>2, 3, 7, 8, 12, 13, 17, 18, 22, 23</math>.
  
::<math>m = 15 , \;\; \boldsymbol{(5 \mid 15) = 0} , \;\; (13 \mid 15) = - 1 , \;\; Q = - 3 , \;\; \gcd (m, Q) = 3 \;\;</math> (gdyby nie zbadano złożoności)
 
  
::<math>m = 17 , \;\; (5 \mid 17) = - 1 , \;\; Q = - 1 , \;\; \gcd (m, Q) = 1</math>
 
  
::<math>m = 19 , \;\; (- 7 \mid 19) = - 1 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1</math>
+
<span style="font-size: 110%; font-weight: bold;">Uwaga J39</span><br/>
 +
Wszystkie liczby kwadratowe i&nbsp;niekwadratowe modulo <math>m</math> można łatwo znaleźć, wykorzystując prosty program:
  
::<math>m = 21 , \;\; \boldsymbol{(- 7 \mid 21) = 0} , \;\; (- 11 \mid 21) = - 1 , \;\; Q = 3 , \;\; \gcd (m, Q) = 3 \;\;</math> (gdyby nie zbadano złożoności)
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Pokaż kod|Hide=Ukryj kod}}
 +
<span style="font-size: 90%; color:black;">QRandQNR(m) =  
 +
{
 +
'''local'''(k, S, V);
 +
S = [];
 +
V = [];
 +
'''for'''(k = 1,  m - 1, '''if'''( '''gcd'''(k, m) > 1, '''next'''() ); S = '''concat'''(S, k));
 +
S = '''Set'''(S); \\ zbiór liczb względnie pierwszych z m
 +
'''for'''(k = 1,  m - 1, '''if'''( '''gcd'''(k, m) > 1, '''next'''() ); V = '''concat'''(V, k^2 % m));
 +
V = '''Set'''(V); \\ zbiór liczb kwadratowych modulo m
 +
'''print'''("QR: ", V);
 +
'''print'''("QNR: ", '''setminus'''(S, V)); \\ różnica zbiorów S i V
 +
}</span>
 +
<br/>
 +
{{\Spoiler}}
  
  
Niech <math>m \geqslant 23</math>. Wiemy, że w&nbsp;ciągu <math>(5, - 7, 9, \ldots, \pm m, \mp (m + 2), \ldots, - (2 m - 3), 2 m - 1)</math> wystąpią liczby <math>a_k</math> takie, że <math>(a_k \mid m) = - 1</math>. Warunek <math>(a_k \mid m) = 0</math> oznacza, że <math>(2 k + 1 \mid m) = 0</math>, bo
 
  
::<math>(a_k \mid m) = ((- 1)^k (2 k + 1) \mid m) = ((- 1)^k \mid m) \cdot (2 k + 1 \mid m) = (- 1 \mid m)^k \cdot (2 k + 1 \mid m) = \pm (2 k + 1 \mid m)</math>
+
<span style="font-size: 110%; font-weight: bold;">Zadanie J40</span><br/>
 +
Pokazać, że
  
Jeżeli będą spełnione warunki <math>(a_k \mid m) = 0</math> i <math>R_m (a_k) \neq 0</math>, to liczba <math>m</math> będzie liczbą złożoną.
+
::<math>\left( {\small\frac{- 3}{m}} \right)_{\small{\!\! J}} = \left( {\small\frac{- 12}{m}} \right)_{\small{\!\! J}} =
 +
\begin{cases}
 +
\;\;\: 1 & \text{gdy } m = 6 k + 1 \\
 +
\;\;\: 0 & \text{gdy } m = 6 k + 3 \\
 +
      - 1 & \text{gdy } m = 6 k + 5
 +
\end{cases}</math>
  
Wypiszmy kolejne próby dla <math>m \geqslant 23</math>. Liczba <math>r</math> jest numerem próby.
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Rozwiązanie|Hide=Ukryj rozwiązanie}}
 +
Zauważmy, że
  
::<math>r = 1 , \;\; a_{r + 1} = 5</math>
+
::<math>\left( {\small\frac{- 3}{m}} \right)_{\small{\!\! J}} = \left( {\small\frac{- 1}{m}} \right)_{\small{\!\! J}} \cdot \left( {\small\frac{3}{m}} \right)_{\small{\!\! J}}</math>
  
::{| border="0"
+
::::<math>\; = (- 1)^{\tfrac{m - 1}{2}} \cdot (- 1)^{\tfrac{m - 1}{2} \cdot \tfrac{3 - 1}{2}} \cdot \left( {\small\frac{m}{3}} \right)_{\small{\!\! J}}</math>
|-style=height:2em
 
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(5 \mid m) = 1</math> || <math>5 \nmid m \quad</math> || przechodzimy do kolejnego wyrazu ciągu <math>(a_k)</math>
 
|-style=height:2em
 
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(5 \mid m) = 0</math> || <math>5 \mid m</math> || '''koniec'''
 
|-style=height:2em
 
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(5 \mid m) = - 1 \quad</math> || <math>5 \nmid m</math> || <math>D = 5 , \;\; Q = - 1 , \;\; \gcd (m, Q) = 1 , \;\;</math> '''koniec'''
 
|}
 
  
::<math>r = 2 , \;\; a_{r + 1} = - 7</math>
+
::::<math>\; = (- 1)^{m - 1} \cdot \left( {\small\frac{m}{3}} \right)_{\small{\!\! J}}</math>
  
::{| border="0"
+
::::<math>\; = \left( {\small\frac{m}{3}} \right)_{\small{\!\! J}}</math>
|-style=height:2em
 
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(- 7 \mid m) = 1</math> || <math>7 \nmid m \quad</math> || przechodzimy do kolejnego wyrazu ciągu <math>(a_k)</math>
 
|-style=height:2em
 
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(- 7 \mid m) = 0</math> || <math>7 \mid m</math> || '''koniec'''
 
|-style=height:2em
 
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(- 7 \mid m) = - 1 \quad</math> || <math>7 \nmid m</math> || <math>D = -7 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1 , \;\;</math> '''koniec'''
 
|}
 
  
::<math>r = 3</math>, <math>a_{r + 1} = 9</math>
+
bo <math>m</math> jest liczbą nieparzystą.
  
::{| border="0"
+
Rozważmy liczby nieparzyste <math>m</math> postaci <math>6 k + r</math>, gdzie <math>r = 1, 3, 5</math>. Mamy
|-style=height:2em
 
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(9 \mid m) = 1</math> || <math>3 \nmid m \quad</math> || przechodzimy do kolejnego wyrazu ciągu <math>(a_k)</math>
 
|-style=height:2em
 
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(9 \mid m) = 0</math> || <math>3 \mid m</math> || '''koniec'''
 
|-style=height:2em
 
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(9 \mid m) \neq - 1 \quad</math> || - - - - || bo <math>9</math> jest liczbą kwadratową
 
|}
 
  
 +
::<math>\left( {\small\frac{- 3}{m}} \right)_{\small{\!\! J}} = \left( {\small\frac{m}{3}} \right)_{\small{\!\! J}}</math>
  
Po wykonaniu trzech prób niezakończonych sukcesem (tzn. wykryciem złożoności <math>m</math> lub ustaleniem wartości liczb <math>D</math> i <math>Q</math>) wiemy, że <math>m</math> nie jest podzielna przez żadną z&nbsp;liczb pierwszych <math>p = 3, 5, 7</math>.
+
::::<math>\; = \left( {\small\frac{6 k + r}{3}} \right)_{\small{\!\! J}}</math>
  
::<math>r</math>-ta próba, gdzie <math>r \geqslant 4 , \;\;</math> wyraz <math>a_{r + 1}</math>
+
::::<math>\; = \left( {\small\frac{r}{3}} \right)_{\small{\!\! J}}</math>
  
::{| border="0"
+
::::<math>\; =
|-style=height:2em
+
\begin{cases}
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(a_{r + 1} \mid m) = 1</math> || żadna liczba pierwsza <math>p \leqslant | a_{r + 1} | = 2 r + 3</math> nie dzieli liczby <math>m \quad</math> &nbsp;&nbsp;&nbsp;  || przechodzimy do kolejnego wyrazu ciągu <math>(a_k)</math>
+
\;\;\: 1 & \text{gdy } r = 1 \\
|-style=height:2em
+
\;\;\: 0 & \text{gdy } r = 3 \\
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(a_{r + 1} \mid m) = 0</math> || A. jeżeli <math>m \mid a_{r + 1}</math><sup>( * )</sup><br/>B. jeżeli <math>m \nmid a_{r + 1}</math> || A. przechodzimy do kolejnego wyrazu ciągu <math>(a_k)</math> <br/> B. <math>a_{r + 1} \mid m</math><sup>( ** )</sup>, '''koniec'''
+
      - 1 & \text{gdy } r = 5
|-style=height:2em
+
\end{cases}</math>
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(a_{r + 1} \mid m) = - 1 \quad</math> || żadna liczba pierwsza <math>p \leqslant | a_{r + 1} | = 2 r + 3</math> nie dzieli liczby <math>m \quad</math> &nbsp;&nbsp;&nbsp;  || <math>D = a_{r + 1}</math>, <math>Q = {\small\frac{1 - a_{r + 1}}{4}}</math>, '''koniec'''
+
 
|}
+
bo odpowiednio dla <math>r = 1, 3, 5</math> jest
  
<sup>( * )</sup> jest to możliwe tylko dla <math>a_{r + 1} = a_{(m - 1) / 2} = m</math>
+
::<math>\left( {\small\frac{1}{3}} \right)_{\small{\!\! J}} = 1</math>
  
<sup>( ** )</sup> zauważmy, że jeżeli <math>m \nmid a_{r + 1}</math>, to <math>\gcd (a_{r + 1}, m) = | a_{r + 1} |</math>, bo gdyby liczba <math>| a_{r + 1} |</math> była liczbą złożoną, to żaden z&nbsp;jej dzielników pierwszych nie dzieliłby liczby <math>m</math>
+
::<math>\left( {\small\frac{3}{3}} \right)_{\small{\!\! J}} = 0</math>
  
 +
::<math>\left( {\small\frac{5}{3}} \right)_{\small{\!\! J}} = \left( {\small\frac{2}{3}} \right)_{\small{\!\! J}} = (- 1)^{\tfrac{9 - 1}{8}} = - 1</math>
  
Jeżeli nie została wykryta złożoność liczby <math>m</math>, to żadna z&nbsp;liczb pierwszych <math>p \leqslant | a_{r + 1} | = 2 r + 3</math> nie dzieli liczby <math>m</math>. Zatem <math>\gcd (Q, m) > 1</math> może być tylko w&nbsp;przypadku, gdy pewna liczba pierwsza <math>q \geqslant 2 r + 5</math> będzie wspólnym dzielnikiem liczb <math>Q</math> i <math>m</math>, ale jest to niemożliwe, bo
+
Łatwo zauważamy, że
  
::<math>| Q | = \left| {\small\frac{1 - a_{r + 1}}{4}} \right| \leqslant {\small\frac{| a_{r + 1} | + 1}{4}} = {\small\frac{2 r + 4}{4}} < 2 r + 5 \leqslant q</math>
+
::<math>\left( {\small\frac{- 12}{m}} \right)_{\small{\!\! J}} = \left( {\small\frac{- 3 \cdot 2^2}{m}} \right)_{\small{\!\! J}} = \left( {\small\frac{- 3}{m}} \right)_{\small{\!\! J}} \cdot \left( {\small\frac{2}{m}} \right)_{\small{\!\! J}}^{\! 2} = \left( {\small\frac{- 3}{m}} \right)_{\small{\!\! J}}</math>
  
Przedostatnia (ostra) nierówność jest prawdziwa dla wszystkich <math>r</math> naturalnych.<br/>
+
Co należało pokazać.<br/>
 
&#9633;
 
&#9633;
 
{{\Spoiler}}
 
{{\Spoiler}}
Linia 1371: Linia 1115:
  
  
<span style="font-size: 110%; font-weight: bold;">Zadanie L31</span><br/>
+
<span style="font-size: 110%; font-weight: bold;">Zadanie J41</span><br/>
Zmodyfikujmy metodę Selfridge'a w&nbsp;taki sposób, że będziemy rozpoczynali próby nie od wyrazu <math>a_2 = 5</math>, ale od wyrazu <math>a_3 = - 7</math>. Pokazać, że w&nbsp;przypadku, gdy dla kolejnych liczb <math>a_k = (- 1)^k (2 k + 1)</math> sprawdzamy, czy konsekwencją <math>(a_k \mid m) = 0</math> jest złożoność liczby <math>m</math>, to dla każdej liczby <math>Q</math> wyznaczonej tak zmodyfikowaną metodą Selfridge'a jest <math>\gcd (Q, m) = 1</math>.
+
Pokazać, że
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Rozwiązanie|Hide=Ukryj rozwiązanie}}
+
::<math>\left( {\small\frac{3}{m}} \right)_{\small{\!\! J}} =  
Poniżej pokażemy, dlaczego musi być <math>\gcd (Q, m) = 1</math>, gdzie <math>Q</math> jest liczbą wyznaczoną zmodyfikowaną metodą Selfridge'a (o ile sprawdzana jest złożoność liczby <math>m</math> przy testowaniu kolejnych liczb <math>a_k</math>). Pogrubioną czcionką zaznaczone są symbole Jacobiego, które wykryły złożoność liczby <math>m</math>. Gdyby nie była badana złożoność, to wyliczona zostałaby wartość <math>Q</math> na podstawie innego wyrazu ciągu <math>a_k</math> (ten symbol Jacobiego został zapisany zwykłą czcionką).
+
\begin{cases}
 +
\;\;\: 1 & \text{gdy } m = 12 k \pm 1 \\
 +
\;\;\: 0 & \text{gdy } m = 12 k \pm 3 \\
 +
      - 1 & \text{gdy } m = 12 k \pm 5
 +
\end{cases}</math>
  
::<math>m = 3 , \;\; (- 7 \mid 3) = - 1 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1</math>
 
  
::<math>m = 5 , \;\; (- 7 \mid 5) = - 1 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1</math>
+
::<math>\left( {\small\frac{5}{m}} \right)_{\small{\!\! J}} =
 +
\begin{cases}
 +
\;\;\: 1 & \text{gdy } m = 10 k \pm 1 \\
 +
\;\;\: 0 & \text{gdy } m = 10 k + 5 \\
 +
      - 1 & \text{gdy } m = 10 k \pm 3
 +
\end{cases}</math>
  
::<math>m = 7 , \;\; (- 7 \mid 7) = 0 , \;\; (- 11 \mid 7) = - 1 , \;\; Q = 3 , \;\; \gcd (m, Q) = 1</math> (zauważmy, że <math>(- 7 \mid 7) = 0</math> nie pozwala wnioskować o&nbsp;złożoności)
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Rozwiązanie|Hide=Ukryj rozwiązanie}}
  
::<math>m = 9 , \;\; </math> (liczba kwadratowa)
+
'''Punkt 1.'''
  
::<math>m = 11 , \;\; (- 11 \mid 11) = 0 , \;\; (13 \mid 11) = - 1 , \;\; Q = - 3 , \;\; \gcd (m, Q) = 1 \;\;</math> (zauważmy, że <math>(- 11 \mid 11) = 0</math> nie pozwala wnioskować o&nbsp;złożoności)
+
Przy wyliczaniu symboli Legendre'a i&nbsp;Jacobiego, zawsze warto sprawdzić, czy da się ustalić przystawanie liczb modulo <math>4</math>. W&nbsp;tym przypadku mamy
  
::<math>m = 13 , \;\; (- 7 \mid 13) = - 1 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1</math>
+
::<math>3 \equiv 3 \pmod{4}</math>
  
::<math>m = 15 , \;\; \boldsymbol{(9 \mid 15) = 0} , \;\; (13 \mid 15) = - 1 , \;\; Q = - 3 , \;\; \gcd (m, Q) = 3 \;\;</math> (gdyby nie zbadano złożoności)
+
i odpowiednio dla różnych postaci liczby <math>m</math> jest
  
::<math>m = 17 , \;\; (- 7 \mid 17) = - 1 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1</math>
+
::<math>m = 12 k + 1 \equiv 1 \pmod{4}</math>
  
::<math>m = 19 , \;\; (- 7 \mid 19) = - 1 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1</math>
+
::<math>m = 12 k + 5 \equiv 1 \pmod{4}</math>
  
::<math>m = 21 , \;\; \boldsymbol{(- 7 \mid 21) = 0} , \;\; (- 11 \mid 21) = - 1 , \;\; Q = 3 , \;\; \gcd (m, Q) = 3 \;\;</math> (gdyby nie zbadano złożoności)
+
::<math>m = 12 k + 7 \equiv 3 \pmod{4}</math>
  
 +
::<math>m = 12 k + 11 \equiv 3 \pmod{4}</math>
  
Niech <math>m \geqslant 23</math>. Wiemy, że w&nbsp;ciągu <math>( - 7, 9, \ldots, \pm m, \mp (m + 2), \ldots, - (2 m - 3), 2 m - 1)</math> wystąpią liczby <math>a_k</math> takie, że <math>(a_k \mid m) = - 1</math>. Warunek <math>(a_k \mid m) = 0</math> oznacza, że <math>(2 k + 1 \mid m) = 0</math>, bo
+
Ułatwi nam to znacznie wykonywanie przekształceń (zobacz J36 p.9)
  
::<math>(a_k \mid m) = ((- 1)^k (2 k + 1) \mid m) = ((- 1)^k \mid m) \cdot (2 k + 1 \mid m) = (- 1 \mid m)^k \cdot (2 k + 1 \mid m) = \pm (2 k + 1 \mid m)</math>
+
<div style="margin-top: 1em; margin-bottom: 1em;">
 +
::<math>\left( {\small\frac{3}{m}} \right)_{\small{\!\! J}} = \left( {\small\frac{3}{12 k + 1}} \right)_{\small{\!\! J}} = (+ 1) \cdot \left( {\small\frac{12 k + 1}{3}} \right)_{\small{\!\! J}} = \left( {\small\frac{1}{3}} \right)_{\small{\!\! J}} = 1</math>
 +
</div>
  
Jeżeli będą spełnione warunki <math>(a_k \mid m) = 0</math> i <math>R_m (a_k) \neq 0</math>, to liczba <math>m</math> będzie liczbą złożoną.
+
<div style="margin-top: 1em; margin-bottom: 1em;">
 +
::<math>\left( {\small\frac{3}{m}} \right)_{\small{\!\! J}} = \left( {\small\frac{3}{12 k + 5}} \right)_{\small{\!\! J}} = (+ 1) \cdot \left( {\small\frac{12 k + 5}{3}} \right)_{\small{\!\! J}} = \left( {\small\frac{5}{3}} \right)_{\small{\!\! J}} = \left( {\small\frac{2}{3}} \right)_{\small{\!\! J}} = - 1</math>
 +
</div>
  
Wypiszmy kolejne próby dla <math>m \geqslant 23</math>. Liczba <math>r</math> jest numerem próby.
+
<div style="margin-top: 1em; margin-bottom: 1em;">
 +
::<math>\left( {\small\frac{3}{m}} \right)_{\small{\!\! J}} = \left( {\small\frac{3}{12 k + 7}} \right)_{\small{\!\! J}} = (- 1) \cdot \left( {\small\frac{12 k + 7}{3}} \right)_{\small{\!\! J}} = - \left( {\small\frac{7}{3}} \right)_{\small{\!\! J}} = - \left( {\small\frac{1}{3}} \right)_{\small{\!\! J}} = - 1</math>
 +
</div>
  
::<math>r = 1 , \;\; a_{r + 2} = - 7</math>
+
<div style="margin-top: 1em; margin-bottom: 1em;">
 +
::<math>\left( {\small\frac{3}{m}} \right)_{\small{\!\! J}} = \left( {\small\frac{3}{12 k + 11}} \right)_{\small{\!\! J}} = (- 1) \cdot \left( {\small\frac{12 k + 11}{3}} \right)_{\small{\!\! J}} = - \left( {\small\frac{11}{3}} \right)_{\small{\!\! J}} = - \left( {\small\frac{2}{3}} \right)_{\small{\!\! J}} = 1</math>
 +
</div>
  
::{| border="0"
+
'''Punkt 2.'''
|-style=height:2em
 
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(- 7 \mid m) = 1</math> || <math>7 \nmid m \quad</math> || przechodzimy do kolejnego wyrazu ciągu <math>(a_k)</math>
 
|-style=height:2em
 
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(- 7 \mid m) = 0</math> || <math>7 \mid m</math> || '''koniec'''
 
|-style=height:2em
 
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(- 7 \mid m) = - 1 \quad</math> || <math>7 \nmid m</math> || <math>D = - 7 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1 , \;\;</math> '''koniec'''
 
|}
 
  
::<math>r = 2 , \;\; a_{r + 2} = 9</math>
+
Ponieważ <math>5 \equiv 1 \!\! \pmod{4}</math>, to nie ma już znaczenia, czy <math>m \equiv 1 \!\! \pmod{4}</math>, czy też <math>m \equiv 3 \!\! \pmod{4}</math>. Otrzymujemy natychmiast (zobacz J36 p.9)
  
::{| border="0"
+
<div style="margin-top: 1em; margin-bottom: 1em;">
|-style=height:2em
+
::<math>\left( {\small\frac{5}{m}} \right)_{\small{\!\! J}} = (+ 1) \cdot \left( {\small\frac{m}{5}} \right)_{\small{\!\! J}} = \left( {\small\frac{m}{5}} \right)_{\small{\!\! J}}</math>
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(9 \mid m) = 1</math> || <math>3 \nmid m \quad</math> || przechodzimy do kolejnego wyrazu ciągu <math>(a_k)</math>
+
</div>
|-style=height:2em
 
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(9 \mid m) = 0</math> || <math>3 \mid m</math> || '''koniec'''
 
|-style=height:2em
 
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(9 \mid m) \neq - 1 \quad</math> || - - - - || bo <math>9</math> jest liczbą kwadratową
 
|}
 
  
::<math>r = 3 , \;\; a_{r + 2} = - 11</math>
+
Rozważmy liczby nieparzyste <math>m</math> postaci <math>10 k + r</math>, gdzie <math>r = 1, 3, 5, 7, 9</math>. Mamy
  
::{| border="0"
+
::<math>\left( {\small\frac{5}{m}} \right)_{\small{\!\! J}} = \left( {\small\frac{m}{5}} \right)_{\small{\!\! J}}</math>
|-style=height:2em
 
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(- 11 \mid m) = 1</math> || <math>11 \nmid m \quad</math> || przechodzimy do kolejnego wyrazu ciągu <math>(a_k)</math>
 
|-style=height:2em
 
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(- 11 \mid m) = 0</math> || <math>11 \mid m</math> || '''koniec'''
 
|-style=height:2em
 
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(- 11 \mid m) = - 1 \quad</math> || <math>11 \nmid m</math> || <math>D = - 11 , \;\; Q = 3 , \;\; \gcd (m, Q) = 1 , \;\;</math> '''koniec''' (bo liczby złożone <math>m = 3 k</math> zostały usunięte w&nbsp;poprzedniej próbie, <math>r = 2</math>)
 
|}
 
  
::<math>r = 4 , \;\; a_{r + 2} = 13</math>
+
:::<math>\:\, \quad = \left( {\small\frac{10 k + r}{5}} \right)_{\small{\!\! J}}</math>
  
::{| border="0"
+
:::<math>\:\, \quad = \left( {\small\frac{r}{5}} \right)_{\small{\!\! J}}</math>
|-style=height:2em
 
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(13 \mid m) = 1</math> || <math>13 \nmid m \quad</math> || przechodzimy do kolejnego wyrazu ciągu <math>(a_k)</math>
 
|-style=height:2em
 
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(13 \mid m) = 0</math> || <math>13 \mid m</math> || '''koniec'''
 
|-style=height:2em
 
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(13 \mid m) = - 1 \quad</math> || <math>13 \nmid m</math> || <math>D = 13 , \;\; Q = - 3 , \;\; \gcd (m, Q) = 1 , \;\;</math> '''koniec''' (bo liczby złożone <math>m = 3 k</math> zostały usunięte w&nbsp;próbie o&nbsp;numerze <math>r = 2</math>)
 
|}
 
  
::<math>r = 5 , \;\; a_{r + 2} = - 15</math>
+
:::<math>\:\, \quad =
 +
\begin{cases}
 +
\;\;\: 1 & \text{gdy } r = 1 \\
 +
      - 1 & \text{gdy } r = 3 \\
 +
\;\;\: 0 & \text{gdy } r = 5 \\
 +
      - 1 & \text{gdy } r = 7 \\
 +
\;\;\: 1 & \text{gdy } r = 9
 +
\end{cases}</math>
  
::{| border="0"
+
bo odpowiednio dla <math>r = 1, 3, 5, 7, 9</math> jest
|-style=height:2em
 
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(- 15 \mid m) = 1</math> || <math>5 \nmid m \quad</math> || przechodzimy do kolejnego wyrazu ciągu <math>(a_k)</math>
 
|-style=height:2em
 
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(- 15 \mid m) = 0</math> || <math>5 \mid m</math> || '''koniec'''
 
|-style=height:2em
 
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(- 15 \mid m) = - 1 \quad</math> || <math>5 \nmid m</math> || <math>D = - 15 , \;\; Q = 4 , \;\; \gcd (m, Q) = 1 , \;\;</math> '''koniec'''
 
|}
 
  
 +
::<math>\left( {\small\frac{1}{5}} \right)_{\small{\!\! J}} = 1</math>
  
Po wykonaniu pięciu prób niezakończonych sukcesem (tzn. wykryciem złożoności <math>m</math> lub ustaleniem wartości liczb <math>D</math> i <math>Q</math>) wiemy, że <math>m</math> nie jest podzielna przez żadną z&nbsp;liczb pierwszych <math>p = 3, 5, 7, 11, 13</math>.
+
::<math>\left( {\small\frac{3}{5}} \right)_{\small{\!\! J}} = \left( {\small\frac{-2}{5}} \right)_{\small{\!\! J}} = (- 1)^{\tfrac{(5 - 1)(5 - 3)}{8}} = -1</math>
  
::<math>r</math>-ta próba, gdzie <math>r \geqslant 6 , \;\;</math> wyraz <math>a_{r + 2}</math>
+
::<math>\left( {\small\frac{5}{5}} \right)_{\small{\!\! J}} = 0</math>
  
::{| border="0"
+
::<math>\left( {\small\frac{7}{5}} \right)_{\small{\!\! J}} = \left( {\small\frac{2}{5}} \right)_{\small{\!\! J}} = (- 1)^{\tfrac{25 - 1}{8}} = - 1</math>
|-style=height:2em
 
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(a_{r + 2} \mid m) = 1</math> || żadna liczba pierwsza <math>p \leqslant | a_{r + 2} | = 2 r + 5</math> nie dzieli liczby <math>m \quad</math> &nbsp;&nbsp;&nbsp;  || przechodzimy do kolejnego wyrazu ciągu <math>(a_k)</math>
 
|-style=height:2em
 
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(a_{r + 2} \mid m) = 0</math> || A. jeżeli <math>m \mid a_{r + 2}</math><sup>( * )</sup><br/>B. jeżeli <math>m \nmid a_{r + 2}</math> || A. przechodzimy do kolejnego wyrazu ciągu <math>(a_k)</math> <br/> B. <math>a_{r + 1} \mid m</math><sup>( ** )</sup>, '''koniec'''
 
|-style=height:2em
 
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(a_{r + 2} \mid m) = - 1 \quad</math> || żadna liczba pierwsza <math>p \leqslant | a_{r + 2} | = 2 r + 5</math> nie dzieli liczby <math>m \quad</math> &nbsp;&nbsp;&nbsp;  || <math>D = a_{r + 2}</math>, <math>Q = {\small\frac{1 - a_{r + 2}}{4}}</math>, '''koniec'''
 
|}
 
  
<sup>( * )</sup> jest to możliwe tylko dla <math>a_{r + 2} = a_{(m - 1) / 2} = m</math>
+
::<math>\left( {\small\frac{9}{5}} \right)_{\small{\!\! J}} = \left( {\small\frac{3}{5}} \right)_{\small{\!\! J}}^{\! 2} = 1</math>
  
<sup>( ** )</sup> zauważmy, że jeżeli <math>m \nmid a_{r + 2}</math>, to <math>\gcd (a_{r + 2}, m) = | a_{r + 2} |</math>, bo gdyby liczba <math>| a_{r + 2} |</math> była liczbą złożoną, to żaden z&nbsp;jej dzielników pierwszych nie dzieliłby liczby <math>m</math>
+
Co należało pokazać.<br/>
 
 
 
 
Jeżeli nie została wykryta złożoność liczby <math>m</math>, to żadna z&nbsp;liczb pierwszych <math>p \leqslant | a_{r + 2} | = 2 r + 5</math> nie dzieli liczby <math>m</math>. Zatem <math>\gcd (Q, m) > 1</math> może być tylko w&nbsp;przypadku, gdy pewna liczba pierwsza <math>q \geqslant 2 r + 7</math> będzie wspólnym dzielnikiem liczb <math>Q</math> i <math>m</math>, ale jest to niemożliwe, bo
 
 
 
::<math>| Q | = \left| {\small\frac{1 - a_{r + 2}}{4}} \right| \leqslant {\small\frac{| a_{r + 2} | + 1}{4}} = {\small\frac{2 r + 6}{4}} < 2 r + 7 \leqslant q</math>
 
 
 
Przedostatnia (ostra) nierówność jest prawdziwa dla wszystkich <math>r</math> naturalnych.<br/>
 
 
&#9633;
 
&#9633;
 
{{\Spoiler}}
 
{{\Spoiler}}
Linia 1490: Linia 1212:
  
  
<span style="font-size: 110%; font-weight: bold;">Uwaga L32</span><br/>
+
<span style="font-size: 110%; font-weight: bold;">Uwaga J42</span><br/>
Przyjmując metodę Selfridge'a wyboru parametrów <math>P, Q</math> dla testu Lucasa, możemy łatwo napisać odpowiedni program w&nbsp;PARI/GP testujący pierwszość liczb
+
Wykorzystując podane w&nbsp;twierdzeniu J36 właściwości symbolu Jacobiego, możemy napisać prostą funkcję w&nbsp;PARI/GP znajdującą jego wartość. Zauważmy, że nie potrzebujemy znać rozkładu liczby <math>n</math> na czynniki pierwsze.
  
  <span style="font-size: 90%; color:black;">LucasTest(m) =  
+
  <span style="font-size: 90%; color:black;">jacobi(a, n) =  
 
  {
 
  {
  '''local'''(P, Q, X);
+
  '''local'''(r, w);
  '''if'''( m % 2 == 0, '''return'''(m == 2) );
+
  '''if'''( n <= 0 || n % 2 == 0, '''return'''("Error") );
  '''if'''( '''issquare'''(m), '''return'''(0) ); \\ sprawdzamy, czy m nie jest liczbą kwadratową
+
a = a % n; \\ korzystamy ze wzoru (a|n) = (b|n), gdy a &equiv; b (mod n)
X = MethodA(m);
+
w = 1;
P = X[1];
+
  '''while'''( a <> 0,
Q = X[2];
+
        '''while'''( a % 2 == 0, a = a/2; r = n % 8; '''if'''( r == 3 || r == 5, w = -w ) );
'''if'''( P == 0, '''return'''(0) ); \\ jeżeli P = 0, to m jest liczbą złożoną
+
        \\ usunęliśmy czynnik 2 ze zmiennej a, uwzględniając, że (2|n) = -1, gdy n &equiv; 3,5 (mod 8)
  '''if'''( modLucas(m + 1, P, Q, m)[1] == 0, '''return'''(1), '''return'''(0) );
+
        \\ teraz zmienne a oraz n są nieparzyste
 +
        r = a; \\ zmienna r tylko przechowuje wartość a
 +
        a = n;
 +
        n = r;
 +
        '''if'''( a % 4 == 3 && n % 4 == 3, w = -w );
 +
        \\ zamieniliśmy zmienne, uwzględniając, że (a|n) = - (n|a), gdy a &equiv; n &equiv; 3 (mod 4)
 +
        a = a % n;
 +
      );
 +
  '''if'''( n == 1, '''return'''(w), '''return'''(0) ); \\ n jest teraz równe gcd(a, n)
 
  }</span>
 
  }</span>
  
  
  
<span style="font-size: 110%; font-weight: bold;">Uwaga L33</span><br/>
+
<span style="font-size: 110%; font-weight: bold;">Uwaga J43</span><br/>
Najmniejsze liczby pseudopierwsze Lucasa, które pojawiają się przy zastosowaniu metody Selfridge'a wyboru parametrów <math>P</math> i <math>Q</math>, to
+
Jeżeli <math>m</math> jest liczbą pierwszą, to symbol Jacobiego jest symbolem Legendre'a, czyli <math>\left( {\small\frac{a}{m}} \right)_{\small{\!\! J}} = \left( {\small\frac{a}{m}} \right)_{\small{\!\! L}}</math>. Jeżeli <math>m</math> jest liczbą złożoną, to symbol Legendre'a <math>\left( {\small\frac{a}{m}} \right)_{\small{\!\! L}}</math> nie istnieje, a&nbsp;symbol Jacobiego <math>\left( {\small\frac{a}{m}} \right)_{\small{\!\! J}}</math> dostarcza jedynie ograniczonych informacji.
  
::<math>323, 377, 1159, 1829, 3827, 5459, 5777, 9071, 9179, 10877, 11419, 11663, 13919, 14839, 16109, 16211, 18407, 18971, 19043, 22499, \ldots</math>
+
W przyszłości symbol Legendre'a / Jacobiego będziemy zapisywali w&nbsp;formie uproszczonej <math>(a \mid m)</math> i&nbsp;nie będziemy rozróżniali tych symboli. Interpretacja zapisu jest prosta:
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Pokaż kod|Hide=Ukryj kod}}
+
:* jeżeli '''wiemy''', że <math>m</math> jest liczbą pierwszą, to symbol <math>(a \mid m)</math> jest symbolem Legendre'a
<span style="font-size: 90%; color:black;">'''forstep'''(k=1, 3*10^4, 2, '''if'''( LucasTest(k) && !'''isprime'''(k), '''print'''(k)) )</span>
+
:* jeżeli '''wiemy''', że <math>m</math> jest liczbą złożoną, to symbol <math>(a \mid m)</math> jest symbolem Jacobiego
<br/>
+
:* jeżeli '''nie wiemy''', czy <math>m</math> jest liczbą pierwszą, czy złożoną, to symbol <math>(a \mid m)</math> jest symbolem Jacobiego
{{\Spoiler}}
 
  
  
  
Tabela przedstawia ilość takich liczb nie większych od <math>10^n</math>
 
  
::{| class="wikitable plainlinks"  style="font-size: 90%; text-align: right; margin-right: auto;"
 
! <math>\boldsymbol{n}</math> !! <math>\boldsymbol{3}</math> !! <math>\boldsymbol{4}</math> !! <math>\boldsymbol{5}</math> !! <math>\boldsymbol{6}</math> !! <math>\boldsymbol{7}</math> !! <math>\boldsymbol{8}</math> !! <math>\boldsymbol{9}</math>
 
|-
 
| #LPSP <math>< 10^n</math> (metoda Selfridge'a) || <math>2</math> || <math>9</math> || <math>57</math> || <math>219</math> || <math>659</math> || <math>1911</math> || <math>5485</math>
 
|}
 
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Pokaż kod|Hide=Ukryj kod}}
+
== Rozwiązywanie kongruencji <math>x^2 \equiv a \!\! \pmod{m}</math> ==
<span style="font-size: 90%; color:black;">'''for'''(n=3, 9, s=0; '''forstep'''(k = 1, 10^n, 2, '''if'''( LucasTest(k) && !'''isprime'''(k), s++ ) ); '''print'''("n= ", n, "  ", s) )</span>
 
<br/>
 
{{\Spoiler}}
 
  
 +
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J44</span><br/>
 +
Niech <math>p</math> będzie liczbą pierwszą nieparzystą, zaś <math>a</math> liczbą całkowitą taką, że <math>\gcd (a, p) = 1</math>. Kongruencja
  
 +
::<math>x^2 \equiv a \pmod{p^n}</math>
  
 +
ma rozwiązanie wtedy i&nbsp;tylko wtedy, gdy kongruencja
  
 +
::<math>x^2 \equiv a \pmod{p}</math>
  
== Liczby silnie pseudopierwsze Lucasa ==
+
ma rozwiązanie.
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie L34</span><br/>
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
Jeżeli <math>p</math> jest liczbą pierwszą nieparzystą taką, że <math>\gcd (p, Q D) = 1</math> oraz <math>p - (D \mid p) = 2^r w</math>, gdzie <math>w</math> jest liczbą nieparzystą, to spełniony jest dokładnie jeden z&nbsp;warunków
 
  
::<math>U_w \equiv 0 \pmod{p}</math>
+
<math>\Large{\Longrightarrow}</math>
  
lub
+
Z założenia kongruencja <math>x^2 \equiv a \!\! \pmod{p^n}</math> ma rozwiązanie. Zatem istnieje taka liczba <math>r \in \mathbb{Z}</math>, że
  
::<math>V_{2^k w} \equiv 0 \pmod{p} \qquad</math> dla pewnego <math>k \in [0, r - 1]</math>
+
::<math>r^2 \equiv a \pmod{p^n}</math>
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
+
Ponieważ <math>p^n \mid (r^2 - a)</math>, to tym bardziej <math>p \mid (r^2 - a)</math>, co oznacza, że prawdziwa jest kongruencja
Wiemy (zobacz L20), że jeżeli <math>p</math> jest liczbą pierwszą nieparzystą taką, że <math>\gcd (p, Q D) = 1</math>, to <math>p \mid U_{p - (D \mid p)}</math>. Z&nbsp;założenia jest <math>p - (D \mid p) = 2^r w</math>, zatem <math>p \mid U_{2^r w}</math>. Ponieważ założyliśmy, że <math>p \nmid Q</math> i <math>p \nmid D</math>, to ze wzoru <math>V^2_n - D U^2_n = 4 Q^n</math> (zobacz L13 p.14) wynika natychmiast, że <math>p</math> nie może dzielić jednocześnie liczb <math>U_n</math> i <math>V_n</math>.
 
  
Korzystając ze wzoru <math>U_{2 n} = U_n V_n</math> (zobacz L13 p.11), otrzymujemy
+
::<math>r^2 \equiv a \pmod{p}</math>
  
::{| border="0"
+
Skąd wynika natychmiast, że kongruencja <math>x^2 \equiv a \!\! \pmod{p}</math> ma rozwiązanie.
|-style=height:3em
 
| &#9679;&nbsp;&nbsp;&nbsp; || <math>p \mid U_{2^r w} \;\; \Longleftrightarrow \;\; p \mid U_{2^{r - 1} w} \cdot V_{2^{r - 1} w} \quad</math> || Jeżeli <math>p \mid V_{2^{r - 1} w}</math>, to twierdzenie jest dowiedzione. Jeżeli <math>p \nmid V_{2^{r - 1} w}</math>, to <math>p \mid U_{2^{r - 1} w}</math>.
 
|-style=height:3em
 
| &#9679;&nbsp;&nbsp;&nbsp; || <math>p \mid U_{2^{r - 1} w} \;\; \Longleftrightarrow \;\; p \mid U_{2^{r - 2} w} \cdot V_{2^{r - 2} w} \quad</math> || Jeżeli <math>p \mid V_{2^{r - 2} w}</math>, to twierdzenie jest dowiedzione. Jeżeli <math>p \nmid V_{2^{r - 2} w}</math>, to <math>p \mid U_{2^{r - 2} w}</math>.
 
|-style=height:3em
 
| &#9679;&nbsp;&nbsp;&nbsp; || <math>.................</math> ||
 
|-style=height:3em
 
| &#9679;&nbsp;&nbsp;&nbsp; || <math>p \mid U_{4 w} \;\; \Longleftrightarrow \;\; p \mid U_{2 w} \cdot V_{2 w}</math> || Jeżeli <math>p \mid V_{2 w}</math>, to twierdzenie jest dowiedzione. Jeżeli <math>p \nmid V_{2 w}</math>, to <math>p \mid U_{2 w}</math>.
 
|-style=height:3em
 
| &#9679;&nbsp;&nbsp;&nbsp; || <math>p \mid U_{2 w} \;\; \Longleftrightarrow \;\; p \mid U_w \cdot V_w</math> || Jeżeli <math>p \mid V_w</math>, to twierdzenie jest dowiedzione. Jeżeli <math>p \nmid V_w</math>, to <math>p \mid U_w</math>.
 
|}
 
  
Z powyższego wynika, że musi być spełniony jeden z wypisanych w twierdzeniu warunków.
+
<math>\Large{\Longleftarrow}</math>
  
 +
Indukcja matematyczna. Z&nbsp;uczynionego w&nbsp;twierdzeniu założenia wiemy, że kongruencja <math>x^2 \equiv a \!\! \pmod{p}</math> ma rozwiązanie. Zatem twierdzenie jest prawdziwe dla <math>n = 1</math>. Załóżmy teraz (założenie indukcyjne), że kongruencja
  
Zauważmy teraz, że jeżeli liczba pierwsza <math>p</math> dzieli <math>V_w</math>, to <math>p \nmid U_w</math>, bo <math>p</math> nie może jednocześnie być dzielnikiem liczb <math>U_w</math> i <math>V_w</math>.
+
::<math>x^2 \equiv a \pmod{p^n}</math>
  
Zauważmy też, że jeżeli dla pewnego <math>k \in [1, r - 1]</math> liczba pierwsza <math>p</math> dzieli <math>V_{2^k w}</math>, to <math>p</math> nie dzieli żadnej liczby <math>V_{2^j w}</math> dla <math>j \in [0, k - 1] \;\; \text{i} \;\; p \nmid U_w</math>. Istotnie:
+
ma rozwiązanie <math>x \equiv u_n \!\! \pmod{p^n}</math> i&nbsp;pokażmy, że twierdzenie jest prawdziwe dla <math>n + 1</math>, czyli że rozwiązanie ma kongruencja
  
::{| border="0"
+
::<math>x^2 \equiv a \pmod{p^{n + 1}}</math>
|-style=height:3em
 
| &#9679;&nbsp;&nbsp;&nbsp; || jeżeli <math>p \mid V_{2^k w}</math>, to <math>p \nmid U_{2^k w} \;\; \text{i} \;\; U_{2^k w} = U_{2^{k - 1} w} V_{2^{k - 1} w}</math>, zatem <math>p</math> nie może być dzielnikiem żadnej z liczb <math>U_{2^{k - 1} w} \;\; \text{i} \;\; V_{2^{k - 1} w}</math>
 
|-style=height:3em
 
| &#9679;&nbsp;&nbsp;&nbsp; || jeżeli <math>p \nmid U_{2^{k - 1} w} \;\; \text{i} \;\; U_{2^{k - 1} w} = U_{2^{k - 2} w} V_{2^{k - 2} w}</math>, to <math>p</math> nie może być dzielnikiem żadnej z liczb <math>U_{2^{k - 2} w} \;\; \text{i} \;\; V_{2^{k - 2} w}</math>
 
|-style=height:3em
 
| &#9679;&nbsp;&nbsp;&nbsp; || <math>.................</math> ||
 
|-style=height:3em
 
| &#9679;&nbsp;&nbsp;&nbsp; || jeżeli <math>p \nmid U_{4 w} \;\; \text{i} \;\; U_{4 w} = U_{2 w} V_{2 w}</math>, to <math>p</math> nie może być dzielnikiem żadnej z liczb <math>U_{2 w} \;\; \text{i} \;\; V_{2 w}</math>
 
|-style=height:3em
 
| &#9679;&nbsp;&nbsp;&nbsp; || jeżeli <math>p \nmid U_{2 w} \;\; \text{i} \;\; U_{2 w} = U_w V_w</math>, to <math>p</math> nie może być dzielnikiem żadnej z liczb <math>U_w \;\; \text{i} \;\; V_w</math>
 
|}
 
  
 +
Wiemy, że liczba <math>u_n</math> jest określona modulo <math>p^n</math>. Nie tracąc ogólności, możemy założyć, że <math>1 \leqslant u_n < p^n</math>. Wartość <math>u_n</math> może zostać wybrana dowolnie (modulo <math>p^n</math>), ale musi zostać ustalona — wymaga tego precyzja i&nbsp;czytelność dowodu. Zatem
  
Co dowodzi, że spełniony jest dokładnie jeden z <math>r + 1</math> warunków:
+
::<math>u^2_n - a = k p^n</math>
  
::<math>U_w \equiv 0 \pmod{p}</math>
+
Zauważmy, że liczba <math>k</math> jest jednoznacznie określona, bo wartość <math>u_n</math> została ustalona. Ponieważ <math>\gcd (2 u_n, p) = 1</math>, to równanie
  
::<math>V_{2^k w} \equiv 0 \pmod{p} \qquad</math> gdzie <math>k \in [0, r - 1]</math>
+
::<math>2 u_n \cdot s - p \cdot l = - k</math>
  
Co należało pokazać.<br/>
+
ma rozwiązanie (zobacz C76). Niech liczby <math>s_0</math> i <math>l_0</math> będą rozwiązaniem tego równania. Zatem
&#9633;
 
{{\Spoiler}}
 
  
 +
::<math>2 u_n \cdot s_0 - p \cdot l_0 = - k</math>
  
 +
::<math>2 u_n \cdot s_0 p^n - l_0 \cdot p^{n + 1} = - k p^n</math>
  
Konsekwentnie definiujemy liczby pseudopierwsze<br/>
+
::<math>2 u_n \cdot s_0 p^n - l_0 \cdot p^{n + 1} = - ( u^2_n - a )</math>
<span style="font-size: 110%; font-weight: bold;">Definicja L35</span><br/>
 
Powiemy, że liczba złożona nieparzysta <math>m</math> jest liczbą silnie pseudopierwszą Lucasa (SLPSP) dla parametrów <math>P</math> i <math>Q</math>, jeżeli <math>\gcd (m, Q D) = 1</math> oraz <math>m - (D \mid m) = 2^r w</math>, gdzie <math>w</math> jest liczbą nieparzystą i&nbsp;spełniony jest jeden z&nbsp;warunków
 
  
::<math>U_w \equiv 0 \pmod{m}</math>
+
::<math>u^2_n + 2 u_n \cdot s_0 p^n = a + l_0 \cdot p^{n + 1}</math>
  
lub
+
Modulo <math>p^{n + 1}</math> dostajemy
  
::<math>V_{2^k w} \equiv 0 \pmod{m} \;</math> dla pewnego <math>k \in [0, r - 1]</math>
+
::<math>u^2_n + 2 u_n \cdot s_0 p^n \equiv a \pmod{p^{n + 1}}</math>
  
 +
::<math>(u_n + s_0 p^n)^2 \equiv a \pmod{p^{n + 1}}</math>
  
 +
bo <math>p^{n + 1} \mid p^{2 n}</math>. Zatem liczba <math>u_{n + 1} = u_n + s_0 p^n</math> jest rozwiązaniem kongruencji
  
<span style="font-size: 110%; font-weight: bold;">Uwaga L36</span><br/>
+
::<math>x^2 \equiv a \pmod{p^{n + 1}}</math>
Każda liczba SLPSP(<math>P, Q</math>) jest LPSP(<math>P, Q</math>). Korzystając ze zdefiniowanych wcześniej funkcji: <code>modPower(a, n, m)</code>, <code>jacobi(a, n)</code> i <code>modLucas(n, P, Q, m)</code> (zobacz K2, J48, L15), możemy napisać prosty program, który sprawdza, czy liczba <math>m</math> spełnia jeden z&nbsp;warunków podanych w&nbsp;twierdzeniu L34.
 
  
<span style="font-size: 90%; color: black;">isPrimeOr<span style="background-color: #fee481;">SLPSP</span>(m, P, Q) =
+
Pokazaliśmy tym samym prawdziwość tezy indukcyjnej, co kończy dowód indukcyjny.<br/>
{
+
&#9633;
'''local'''(a, b, c, D, js, k, r, w, X);
+
{{\Spoiler}}
D = P^2 - 4*Q;
 
'''if'''( gcd(m, 2*Q*D) > 1, '''return'''(0) );
 
js = jacobi(D, m);
 
r = '''valuation'''(m - js, 2); \\ znajdujemy wykładnik, z jakim liczba 2 występuje w m - js
 
w = (m - js) / 2^r;
 
X =  modLucas(w, P, Q, m);
 
a = X[1]; \\ U_w(P, Q) % m
 
b = X[2]; \\ V_w(P, Q) % m
 
'''if'''( a == 0 || b == 0, '''return'''(1) ); \\ b == 0 to przypadek k == 0
 
'''if'''( r == 1, '''return'''(0) ); \\ nie ma dalszych przypadków
 
c = modPower(Q, w, m); \\ Q^w % m
 
k = 0;
 
\\ sprawdzamy warunek V_(2^k * w) % m = 0; korzystamy ze wzoru V_(2*t) = (V_t)^2 - 2*Q^t
 
'''while'''( k++ < r,
 
        b = (b^2 - 2*c) % m;
 
        '''if'''( b == 0, '''return'''(1) );
 
        c = c^2 % m;
 
      );
 
'''return'''(0);
 
}</span>
 
  
  
  
<span style="font-size: 110%; font-weight: bold;">Przykład L37</span><br/>
+
<span style="font-size: 110%; font-weight: bold;">Uwaga J45</span><br/>
Poniższa tabela zawiera najmniejsze liczby silnie pseudopierwsze Lucasa dla różnych parametrów <math>P</math> i <math>Q</math>
+
Dla niewielkich modułów rozwiązania dowolnej kongruencji możemy znaleźć przez bezpośrednie sprawdzenie. Omówimy teraz rozwiązania kongruencji <math>x^2 \equiv a \!\! \pmod{2^n}</math> dla <math>n = 1, 2, 3</math>. Ponieważ zakładamy, że <math>\gcd (a, m) = \gcd (a, 2^n) = 1</math>, to <math>a</math> musi być liczbą nieparzystą, zaś <math>x</math> nie może być liczbą parzystą. Istotnie, gdyby tak było, to mielibyśmy <math>0 \equiv 1 \!\! \pmod{2}</math>, bo <math>2 \mid 2^n</math>.
  
::{| class="wikitable plainlinks"  style="font-size: 90%; text-align: right; margin-right: auto;"
+
Kongruencja
! &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<math>\boldsymbol{P}</math><br/><math>\boldsymbol{Q}</math>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 
! <math>\boldsymbol{1}</math> !! <math>\boldsymbol{2}</math> !! <math>\boldsymbol{3}</math> !! <math>\boldsymbol{4}</math> !! <math>\boldsymbol{5}</math> !! <math>\boldsymbol{6}</math> !! <math>\boldsymbol{7}</math> !! <math>\boldsymbol{8}</math> !! <math>\boldsymbol{9}</math> !! <math>\boldsymbol{10}</math>
 
|-
 
! <math>\boldsymbol{- 5}</math>
 
| <math>253</math> || <math>121</math> || style="background-color: yellow" | <math>143</math> || <math>781</math> || style="background-color: yellow" | <math>323</math> || style="background-color: yellow" | <math>299</math> || <math>121</math> || style="background-color: yellow" | <math>407</math> || <math>9</math> || style="background-color: yellow" | <math>143</math>
 
|-
 
! <math>\boldsymbol{- 4}</math>
 
| <math>9</math> || <math>4181</math> || <math>341</math> || <math>169</math> || <math>33</math> || style="background-color: yellow" | <math>119</math> || <math>57</math> || <math>9</math> || <math>9</math> || <math>9</math>
 
|-
 
! <math>\boldsymbol{- 3}</math>
 
| style="background-color: yellow" | <math>799</math> || <math>121</math> || style="background-color: yellow" | <math>527</math> || <math>25</math> || <math>85</math> || style="background-color: yellow" | <math>209</math> || style="background-color: yellow" | <math>55</math> || style="background-color: yellow" | <math>35</math> || <math>169</math> || <math>529</math>
 
|-
 
! <math>\boldsymbol{- 2}</math>
 
| <math>2047</math> || style="background-color: yellow" | <math>989</math> || <math>161</math> || <math>49</math> || <math>49</math> || style="background-color: yellow" | <math>323</math> || style="background-color: yellow" | <math>35</math> || style="background-color: yellow" | <math>35</math> || <math>9</math> || <math>265</math>
 
|-
 
! <math>\boldsymbol{- 1}</math>
 
| <math>4181</math> || <math>169</math> || style="background-color: yellow" | <math>119</math> || <math>9</math> || <math>9</math> || style="background-color: yellow" | <math>629</math> || <math>25</math> || <math>33</math> || <math>9</math> || style="background-color: yellow" | <math>51</math>
 
|-
 
! <math>\boldsymbol{1}</math>
 
| <math>25</math> || style="background-color: red" | <math></math> || style="background-color: yellow" | <math>323</math> || style="background-color: yellow" | <math>209</math> || style="background-color: yellow" | <math>527</math> || style="background-color: yellow" | <math>35</math> || style="background-color: yellow" | <math>323</math> || style="background-color: yellow" | <math>559</math> || <math>9</math> || <math>49</math>
 
|-
 
! <math>\boldsymbol{2}</math>
 
| style="background-color: yellow" | <math>5459</math> || <math>9</math> || <math>2047</math> || <math>169</math> || <math>21</math> || <math>253</math> || <math>9</math> || style="background-color: yellow" | <math>15</math> || <math>9</math> || <math>49</math>
 
|-
 
! <math>\boldsymbol{3}</math>
 
| style="background-color: yellow" | <math>899</math> || style="background-color: yellow" | <math>5983</math> || <math>25</math> || <math>121</math> || <math>49</math> || <math>49</math> || style="background-color: yellow" | <math>35</math> || <math>55</math> || <math>25</math> || style="background-color: yellow" | <math>35</math>
 
|-
 
! <math>\boldsymbol{4}</math>
 
| style="background-color: yellow" | <math>899</math> || <math>25</math> || <math>1541</math> || style="background-color: red" | <math></math> || <math>341</math> || style="background-color: yellow" | <math>323</math> || style="background-color: yellow" | <math>377</math> || style="background-color: yellow" | <math>209</math> || <math>9</math> || style="background-color: yellow" | <math>527</math>
 
|-
 
! <math>\boldsymbol{5}</math>
 
| <math>9</math> || style="background-color: yellow" | <math>527</math> || <math>49</math> || style="background-color: yellow" | <math>527</math> || <math>4181</math> || <math>781</math> || style="background-color: yellow" | <math>39</math> || <math>9</math> || <math>9</math> || <math>9</math>
 
|}
 
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Pokaż kod|Hide=Ukryj kod}}
+
::<math>x^2 \equiv a \pmod{2}</math>
<span style="font-size: 90%; color:black;">FirstSLPSP(Stop) =
 
\\ najmniejsze SLPSP(P,Q) < Stop;  dla 1<=P<=10 i -5<=Q<=5
 
{
 
'''local'''(D, m, P, Q);
 
Q = -6;
 
'''while'''( Q++ <= 5,
 
        '''if'''( Q == 0, '''next'''() );
 
        P = 0;
 
        '''while'''( P++ <= 10,
 
              D = P^2 - 4*Q;
 
              '''if'''( D == 0,
 
                  '''print'''("Q= ", Q, "  P= ", P, "  ------------------");
 
                  '''next'''();
 
                );
 
              m = 3;
 
              '''while'''( m < Stop,
 
                      '''if'''( isPrimeOr<span style="background-color: #fee481;">SLPSP</span>(m, P, Q)  &&  !'''isprime'''(m),
 
                          '''print'''("Q= ", Q, "  P= ", P, "  m= ", m, "  (D|m)= ", jacobi(D, m));
 
                          '''break'''();
 
                        );
 
                      m = m + 2;
 
                    );
 
            );
 
      );
 
}</span>
 
<br/>
 
{{\Spoiler}}
 
  
Żółtym tłem oznaczyliśmy te najmniejsze liczby pseudopierwsze Lucasa, dla których <math>(D \mid m) = - 1</math>.
+
ma dokładnie jedno rozwiązanie <math>x \equiv 1 \!\! \pmod{2}</math>.
  
 +
Kongruencja
  
 +
::<math>x^2 \equiv a \pmod{4}</math>
  
<span style="font-size: 110%; font-weight: bold;">Przykład L38</span><br/>
+
ma dwa rozwiązania, gdy <math>a \equiv 1 \!\! \pmod{4}</math>. Rozwiązaniami są: <math>x \equiv 1, 3 \!\! \pmod{4}</math>. W&nbsp;przypadku, gdy <math>a \equiv 3 \!\! \pmod{4}</math> kongruencja nie ma rozwiązań.
Ilość liczb SLPSP(<math>P, Q</math>) mniejszych od <math>10^9</math>
 
  
::{| class="wikitable plainlinks"  style="font-size: 90%; text-align: right; margin-right: auto;"
+
Kongruencja
! &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<math>\boldsymbol{P}</math><br/><math>\boldsymbol{Q}</math>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 
! <math>\boldsymbol{1}</math> !! <math>\boldsymbol{2}</math> !! <math>\boldsymbol{3}</math> !! <math>\boldsymbol{4}</math> !! <math>\boldsymbol{5}</math> !! <math>\boldsymbol{6}</math> !! <math>\boldsymbol{7}</math> !! <math>\boldsymbol{8}</math> !! <math>\boldsymbol{9}</math> !! <math>\boldsymbol{10}</math>
 
|-
 
! <math>\boldsymbol{- 5}</math>
 
| <math>1056</math> || <math>1231</math> || <math>1184</math> || <math>1264</math> || <math>2278</math> || <math>1284</math> || <math>1181</math> || <math>1174</math> || <math>1281</math> || <math>1429</math>
 
|-
 
! <math>\boldsymbol{- 4}</math>
 
| <math>1043</math> || <math>1165</math> || <math>2139</math> || <math>1316</math> || <math>1151</math> || <math>1079</math> || <math>1112</math> || <math>2377</math> || <math>1197</math> || <math>989</math>
 
|-
 
! <math>\boldsymbol{- 3}</math>
 
| <math>952</math> || <math>1514</math> || <math>1055</math> || <math>1153</math> || <math>1135</math> || <math>2057</math> || <math>998</math> || <math>1202</math> || <math>1077</math> || <math>1112</math>
 
|-
 
! <math>\boldsymbol{- 2}</math>
 
| <math>1282</math> || <math>1092</math> || <math>1212</math> || <math>1510</math> || <math>1155</math> || <math>1179</math> || <math>1173</math> || <math>2240</math> || <math>1089</math> || <math>2109</math>
 
|-
 
! <math>\boldsymbol{- 1}</math>
 
| <math>1165</math> || <math>1316</math> || <math>1079</math> || <math>2377</math> || <math>989</math> || <math>1196</math> || <math>1129</math> || <math>1050</math> || <math>1055</math> || <math>1147</math>
 
|-
 
! <math>\boldsymbol{1}</math>
 
| <math>282485800</math> || style="background-color: red" | <math></math> || <math>2278</math> || <math>2057</math> || <math>2113</math> || <math>2266</math> || <math>4053</math> || <math>2508</math> || <math>2285</math> || <math>3083</math>
 
|-
 
! <math>\boldsymbol{2}</math>
 
| <math>1776</math> || <math>449152466</math> || <math>1282</math> || <math>1316</math> || <math>1645</math> || <math>1413</math> || <math>1564</math> || <math>1595</math> || <math>1683</math> || <math>1435</math>
 
|-
 
! <math>\boldsymbol{3}</math>
 
| <math>1621</math> || <math>1553</math> || <math>282485800</math> || <math>1514</math> || <math>1530</math> || <math>1510</math> || <math>1588</math> || <math>1549</math> || <math>1468</math> || <math>1692</math>
 
|-
 
! <math>\boldsymbol{4}</math>
 
| <math>2760</math> || <math>282485800</math> || <math>2978</math> || style="background-color: red" | <math></math> || <math>2137</math> || <math>2278</math> || <math>1995</math> || <math>2057</math> || <math>2260</math> || <math>2113</math>
 
|-
 
! <math>\boldsymbol{5}</math>
 
| <math>1314</math> || <math>2392</math> || <math>1497</math> || <math>2392</math> || <math>1165</math> || <math>1268</math> || <math>1227</math> || <math>1411</math> || <math>1253</math> || <math>2377</math>
 
|}
 
  
 +
::<math>x^2 \equiv a \pmod{8}</math>
  
 +
ma cztery rozwiązania, gdy <math>a \equiv 1 \!\! \pmod{8}</math>. Rozwiązaniami są: <math>x \equiv 1, 3, 5, 7 \!\! \pmod{8}</math>. W&nbsp;przypadku, gdy <math>a \equiv 3, 5, 7 \!\! \pmod{8}</math> kongruencja nie ma rozwiązań.
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Pokaż kod|Hide=Ukryj kod}}
 
<span style="font-size: 90%; color:black;">NumOfSLPSP(Stop) =
 
\\ ilość liczb silnie pseudopierwszych Lucasa SLPSP(P,Q) < Stop;  dla 1<=P<=10 i -5<=Q<=5
 
{
 
'''local'''(D, m, P, Q);
 
Q = -6;
 
'''while'''( Q++ <= 5,
 
        '''if'''( Q == 0, '''next'''() );
 
        P = 0;
 
        '''while'''( P++ <= 10,
 
              D = P^2 - 4*Q;
 
              '''if'''( D == 0, '''print'''("Q= ", Q, "  P= ", P, "  ------------------"); '''next'''() );
 
              s = 0;
 
              m = 3;
 
              '''while'''( m < Stop,
 
                      '''if'''( isPrimeOr<span style="background-color: #fee481;">SLPSP</span>(m, P, Q)  &&  !'''isprime'''(m), s++ );
 
                      m = m + 2;
 
                    );
 
              '''print'''("Q= ", Q, "  P= ", P, "  s= ", s);
 
            );
 
      );
 
}</span>
 
<br/>
 
{{\Spoiler}}
 
  
  
 +
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J46</span><br/>
 +
Niech <math>n \geqslant 3</math> i <math>a</math> będzie liczbą nieparzystą. Kongruencja
  
<span style="font-size: 110%; font-weight: bold;">Uwaga L39</span><br/>
+
::<math>x^2 \equiv a \pmod{2^n}</math>
Można pokazać<ref name="Arnault1"/>, że dla liczby złożonej nieparzystej <math>m \neq 9</math> i&nbsp;ustalonego <math>D</math> ilość par <math>P, Q</math> takich, że
 
  
:* <math>0 \leqslant P, Q < m</math>
+
ma rozwiązanie wtedy i&nbsp;tylko wtedy, gdy kongruencja
:* <math>\gcd (Q, m) = 1</math>
 
:* <math>P^2 - 4 Q \equiv D \pmod{m}</math>
 
:* <math>m</math> jest SLPSP(<math>P, Q</math>)
 
  
nie przekracza <math>\tfrac{4}{15} n</math>.
+
::<math>x^2 \equiv a \pmod{8}</math>
  
Nie dotyczy to przypadku, gdy <math>m = p (p + 2)</math> jest iloczynem liczb pierwszych bliźniaczych takich, że <math>(D \mid p) = - (D \mid p + 2) = - 1</math>, wtedy mamy słabsze oszacowanie: <math>\# (P, Q) \leqslant \tfrac{1}{2} n</math>. Zauważmy, że taką sytuację łatwo wykryć, bo w&nbsp;tym przypadku <math>m + 1 = (p + 1)^2</math> jest liczbą kwadratową.
+
ma rozwiązanie.
  
 +
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
  
 +
<math>\Large{\Longrightarrow}</math>
  
<span style="font-size: 110%; font-weight: bold;">Uwaga L40</span><br/>
+
Z założenia kongruencja <math>x^2 \equiv a \!\! \pmod{2^n}</math> ma rozwiązanie, zatem istnieje taka liczba <math>r \in \mathbb{Z}</math>, że
Podobnie jak w&nbsp;przypadku liczb pseudopierwszych Lucasa LPSP(<math>P, Q</math>) tak i&nbsp;w&nbsp;przypadku liczb silnie pseudopierwszych Lucasa SLPSP(<math>P, Q</math>) możemy testować pierwszość liczby <math>m</math>, wybierając liczby <math>P, Q</math> losowo lub zastosować wybraną metodę postępowania. Przedstawiony poniżej program, to zmodyfikowany kod z uwagi L36. Teraz parametry <math>P, Q</math> są wybierane metodą Selfridge'a, a symbol Jacobiego <math>(D \mid m)</math> jest równy <math>- 1</math>.
 
  
<span style="font-size: 90%; color:black;">StrongLucasTest(m) =
+
::<math>r^2 \equiv a \pmod{2^n}</math>
{
 
'''local'''(a, b, c, k, P, Q, r, w, X);
 
'''if'''( m % 2 == 0, '''return'''(m == 2) );
 
'''if'''( '''issquare'''(m), '''return'''(0) ); \\ sprawdzamy, czy liczba m nie jest kwadratowa
 
X = MethodA(m);
 
P = X[1];
 
Q = X[2];
 
'''if'''( P == 0 || '''gcd'''(m, 2*Q) > 1, '''return'''(0) ); \\ jeżeli P = 0, to m jest liczbą złożoną
 
r = '''valuation'''(m + 1, 2); \\ znajdujemy wykładnik, z jakim liczba 2 występuje w m + 1
 
w = (m + 1) / 2^r;
 
X =  modLucas(w, P, Q, m);
 
a = X[1]; \\ U_w(P, Q) % m
 
b = X[2]; \\ V_w(P, Q) % m
 
'''if'''( a == 0 || b == 0, '''return'''(1) ); \\ b == 0 to przypadek k == 0
 
'''if'''( r == 1, '''return'''(0) ); \\ nie ma dalszych przypadków
 
c = modPower(Q, w, m); \\ Q^w % m
 
k = 0;
 
\\ sprawdzamy warunek V_(2^k * w) %m = 0; korzystamy ze wzoru V_(2*w) = (V_w)^2 - 2*Q^w
 
'''while'''( k++ < r,
 
        b = (b^2 - 2*c) % m;
 
        '''if'''( b == 0, '''return'''(1) );
 
        c = c^2 % m;
 
      );
 
'''return'''(0);
 
}</span>
 
  
 +
Ponieważ <math>2^n \mid (r^2 - a)</math>, gdzie <math>n \geqslant 3</math>, to tym bardziej <math>2^3 \mid (r^2 - a)</math>. Co oznacza, że prawdziwa jest kongruencja
  
 +
::<math>r^2 \equiv a \pmod{2^3}</math>
  
<span style="font-size: 110%; font-weight: bold;">Uwaga L41</span><br/>
+
Skąd wynika natychmiast, że kongruencja <math>x^2 \equiv a \!\! \pmod{8}</math> ma rozwiązanie.
Najmniejsze liczby silnie pseudopierwsze Lucasa, które otrzymujemy po zastosowaniu metody Selfridge'a wyboru parametrów <math>P</math> i <math>Q</math>, to
 
  
::<math>5459, 5777, 10877, 16109, 18971, 22499, 24569, 25199, 40309, 58519, 75077, 97439, \ldots</math>
+
<math>\Large{\Longleftarrow}</math>
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Pokaż kod|Hide=Ukryj kod}}
+
Indukcja matematyczna. Z&nbsp;uczynionego w&nbsp;twierdzeniu założenia wiemy, że kongruencja <math>x^2 \equiv a \pmod{8}</math> ma rozwiązanie. Zatem twierdzenie jest prawdziwe dla <math>n = 3</math>. Załóżmy teraz (założenie indukcyjne), że kongruencja
<span style="font-size: 90%; color:black;">'''forstep'''(k=1, 10^5, 2, '''if'''( StrongLucasTest(k) && !'''isprime'''(k), '''print'''(k)) )</span>
 
<br/>
 
{{\Spoiler}}
 
  
 +
::<math>x^2 \equiv a \pmod{2^n}</math>
  
Tabela przedstawia ilość takich liczb nie większych od <math>10^n</math>
+
ma rozwiązanie <math>x \equiv u_n \!\! \pmod{2^n}</math> i&nbsp;pokażemy, że twierdzenie jest prawdziwe dla <math>n + 1</math>, czyli że rozwiązanie ma kongruencja
  
::{| class="wikitable plainlinks"  style="font-size: 90%; text-align: right; margin-right: auto;"
+
::<math>x^2 \equiv a \pmod{2^{n + 1}}</math>
! <math>\boldsymbol{n}</math> !! <math>\boldsymbol{3}</math> !! <math>\boldsymbol{4}</math> !! <math>\boldsymbol{5}</math> !! <math>\boldsymbol{6}</math> !! <math>\boldsymbol{7}</math> !! <math>\boldsymbol{8}</math> !! <math>\boldsymbol{9}</math>
 
|-
 
| #SLPSP <math>< 10^n</math> (metoda Selfridge'a) || <math>0</math> || <math>2</math> || <math>12</math> || <math>58</math> || <math>178</math> || <math>505</math> || <math>1415</math>
 
|}
 
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Pokaż kod|Hide=Ukryj kod}}
+
Z założenia istnieje taka liczba <math>k</math>, że <math>u^2_n - a = k \cdot 2^n</math>. Niech
<span style="font-size: 90%; color:black;">'''for'''(n=3, 9, s=0; '''forstep'''(k = 1, 10^n, 2, '''if'''( StrongLucasTest(k) && !'''isprime'''(k), s++ ) ); '''print'''("n=", n, "  ", s) )</span>
 
<br/>
 
{{\Spoiler}}
 
  
 +
::<math>r =
 +
  \begin{cases}
 +
  0 & \text{gdy } k \text{ jest liczbą parzystą}\\
 +
  1 & \text{gdy } k \text{ jest liczbą nieparzystą}
 +
  \end{cases}</math>
  
 +
Zauważmy, że
  
 +
::<math>(u_n + r \cdot 2^{n - 1})^2 - a = u^2_n - a + 2^n r + r^2 \cdot 2^{2 n - 2}</math>
  
 +
::::::::<math>\;\! = k \cdot 2^n + 2^n r + r^2 \cdot 2^{2 n - 2}</math>
  
== Test BPSW ==
+
::::::::<math>\;\! = 2^n (k + r) + r^2 \cdot 2^{2 n - 2}</math>
  
<span style="font-size: 110%; font-weight: bold;">Uwaga L42</span><br/>
+
::::::::<math>\;\! \equiv 0 \pmod{2^{n + 1}}</math>
Jest <math>488</math> liczb SPSP(<math>2</math>) mniejszych od <math>10^8</math> i są 582 liczby SPSP(<math>3</math>) mniejsze od <math>10^8</math> (zobacz K20). Ale jest aż <math>21</math> liczb mniejszych od <math>10^8</math> silnie pseudopierwszych jednocześnie względem podstaw <math>2</math> i <math>3</math>:
 
  
<math>1373653, 1530787, 1987021, 2284453, 3116107, 5173601, 6787327, 11541307, 13694761, 15978007, 16070429,</math>
+
bo <math>k + r</math> jest liczbą parzystą, a&nbsp;dla <math>n \geqslant 3</math> mamy <math>2 n - 2 \geqslant n + 1</math>. Zatem liczba <math>u_{n + 1} = u_n + r \cdot 2^{n - 1}</math> jest rozwiązaniem kongruencji
  
<math>16879501, 25326001, 27509653, 27664033, 28527049, 54029741, 61832377, 66096253, 74927161, 80375707</math>
+
::<math>x^2 \equiv a \pmod{2^{n + 1}}</math>
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Pokaż kod|Hide=Ukryj kod}}
+
Pokazaliśmy tym samym prawdziwość tezy indukcyjnej, co kończy dowód indukcyjny.<br/>
<span style="font-size: 90%; color:black;">'''forstep'''(m=3, 10^8, 2, '''if'''( isPrimeOr<span style="background-color: #fee481;">SPSP</span>(m, 2)  &&  isPrimeOr<span style="background-color: #fee481;">SPSP</span>(m, 3)  &&  !'''isprime'''(m), '''print'''("m=", m) ) )</span>
+
&#9633;
<br/>
 
 
{{\Spoiler}}
 
{{\Spoiler}}
  
Widzimy, że prawdopodobieństwo błędnego rozpoznania pierwszości w&nbsp;przypadku liczb mniejszych od <math>10^8</math> dla podstaw <math>2</math> i <math>3</math> jest rzędu kilku milionowych. Gdyby prawdopodobieństwa błędnego rozpoznania pierwszości w&nbsp;przypadku podstaw <math>2</math> i <math>3</math> były niezależne, to spodziewalibyśmy się, że nie będzie wcale liczb mniejszych od <math>10^8</math> silnie pseudopierwszych jednocześnie względem podstaw <math>2</math> i <math>3</math>, bo prawdopodobieństwo takiego zdarzenia byłoby równe kilkudziesięciu bilonowym. Ale tak nie jest.
 
  
Jest to mocny argument za tym, że zastosowanie różnych (niezależnych) testów może być znacznie silniejszym narzędziem do testowania pierwszości liczb, niż wielokrotne stosowanie tego samego testu, gdzie poszczególne próby są tylko pozornie niezależne.
+
<span style="font-size: 110%; font-weight: bold;">Wniosek J47</span><br/>
 +
Jeżeli <math>a</math> jest liczbą nieparzystą, to kongruencja <math>x^2 \equiv a \!\! \pmod{2^n}</math> ma rozwiązanie wtedy i&nbsp;tylko wtedy, gdy <math>a</math> jest postaci <math>2 k + 1</math>, <math>4 k + 1</math> lub <math>8 k + 1</math> w&nbsp;zależności od tego, czy <math>n = 1</math>, czy <math>n = 2</math>, czy <math>n \geqslant 3</math>.
  
Połączenie znanych nam już testów prowadzi do prostego programu
 
  
<span style="font-size: 90%; color:black;">BPSWtest(m) =
 
{
 
'''forprime'''(p = 2, 1000, '''if'''( m % p > 0, '''next'''() ); '''if'''( m == p, '''return'''(1), '''return'''(0) ));
 
'''if'''( !isPrimeOr<span style="background-color: #fee481;">SPSP</span>(m, 2), '''return'''(0) );
 
'''if'''( !StrongLucasTest(m), '''return'''(0), '''return'''(1) );
 
}</span>
 
  
 +
<span style="font-size: 110%; font-weight: bold;">Uwaga J48</span><br/>
 +
Niech <math>m = p^{\alpha_1}_1 \cdot \ldots \cdot p^{\alpha_s}_s</math> i <math>\gcd (a, m) = 1</math>. Z&nbsp;chińskiego twierdzenia o&nbsp;resztach (zobacz J3 i&nbsp;J11) wynika, że kongruencja <math>x^2 \equiv a \!\! \pmod{m}</math> ma rozwiązanie wtedy i&nbsp;tylko wtedy, gdy ma rozwiązanie każda z&nbsp;kongruencji
  
 +
::<math>\begin{align}
 +
x^2 & \equiv a \pmod{p^{\alpha_1}_1} \\
 +
    & \,\,\,\cdots \\
 +
x^2 & \equiv a \pmod{p^{\alpha_s}_s} \\
 +
\end{align}</math>
  
Funkcja <code>BPSWtest(m)</code> kolejno sprawdza:
+
Z definicji J27, twierdzeń J44 i&nbsp;J46, uwagi J45 i&nbsp;wniosku J47 otrzymujemy
  
:* czy liczba <math>m</math> jest podzielna przez niewielkie liczby pierwsze (w naszym przypadku mniejsze od <math>1000</math>); jeśli tak, to sprawdza, czy <math>m</math> jest liczbą pierwszą, czy złożoną i&nbsp;zwraca odpowiednio <math>1</math> lub <math>0</math>
 
:* czy liczba <math>m</math> przechodzi test Millera-Rabina dla podstawy <math>2</math>; jeśli nie, to zwraca <math>0</math>
 
:* czy liczba <math>m</math> przechodzi silny test Lucasa dla parametrów <math>P</math> i <math>Q</math>, które wybieramy metodą Selfridge'a; jeśli nie, to zwraca <math>0</math>, w&nbsp;przeciwnym wypadku zwraca <math>1</math>
 
  
  
Test w&nbsp;dokładnie takiej postaci zaproponowali Robert Baillie i&nbsp;Samuel Wagstaff<ref name="BaillieWagstaff1"/>. Nazwa testu to akronim, utworzony od pierwszych liter nazwisk Roberta Bailliego, Carla Pomerance'a, Johna Selfridge'a i&nbsp;Samuela Wagstaffa.
+
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J49</span><br/>
 +
Niech <math>m \in \mathbb{Z}_+</math> i <math>\gcd (a, m) = 1</math>. Kongruencja
  
Nie jest znany żaden przykład liczby złożonej <math>m</math>, którą test BPSW<ref name="BPSW1"/><ref name="BPSW2"/> identyfikowałby jako pierwszą i&nbsp;z&nbsp;pewnością nie ma takich liczb dla <math>m < 2^{64} \approx 1.844 \cdot 10^{19}</math>. Warto przypomnieć: potrzebowaliśmy siedmiu testów Millera-Rabina (dla podstaw <math>2, 3, 5, 7, 11, 13, 17</math>), aby mieć pewność, że dowolna liczba <math>m < 3.41 \cdot 10^{14}</math> jest pierwsza (zobacz K21).
+
::<math>x^2 \equiv a \pmod{m}</math>
  
 +
ma rozwiązanie wtedy i&nbsp;tylko wtedy, gdy
  
 +
::{| border="0"
 +
|-style=height:1em
 +
| &#9679;&nbsp;&nbsp;&nbsp; dla każdego nieparzystego dzielnika pierwszego <math>p</math> liczby <math>m</math> jest&nbsp; <math>\left( {\small\frac{a}{p}} \right)_{\small{\!\! L}} = 1</math>
 +
|-style=height:1em
 +
| &#9679;&nbsp;&nbsp;&nbsp; jeżeli&nbsp; <math>8 \mid m</math>, &nbsp;to&nbsp; <math>8 \mid ( a - 1 )</math>
 +
|-style=height:2.5em
 +
| &#9679;&nbsp;&nbsp;&nbsp; jeżeli&nbsp; <math>8 \nmid m</math>, &nbsp;ale&nbsp; <math>4 \mid m</math>, &nbsp;to&nbsp; <math>4 \mid ( a - 1 )</math>
 +
|}
  
  
  
== Uzupełnienia ==
+
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J50</span><br/>
 +
Niech <math>m \in \mathbb{Z}_+</math> i <math>\gcd (a, m) = 1</math>. Kongruencja
  
&nbsp;
+
::<math>x^2 \equiv a \pmod{m}</math>
  
=== <span style="border-bottom:1px solid #000;">Pewne własności współczynników dwumianowych</span> ===
+
nie ma rozwiązania wtedy i&nbsp;tylko wtedy, gdy spełniony jest co najmniej jeden z&nbsp;warunków
  
&nbsp;
+
::{| border="0"
 
+
|-style=height:1em
<span style="font-size: 110%; font-weight: bold;">Twierdzenie L43</span><br/>
+
| &#9679;&nbsp;&nbsp;&nbsp; jeżeli dla dowolnego nieparzystego dzielnika <math>d</math> liczby <math>m</math> jest <math>\left( {\small\frac{a}{d}} \right)_{\small{\!\! J}} = - 1</math>
Jeżeli <math>p</math> jest liczbą pierwszą, to
+
|-style=height:1em
 
+
| &#9679;&nbsp;&nbsp;&nbsp; jeżeli&nbsp; <math>8 \mid m</math> &nbsp;i&nbsp; <math>8 \nmid ( a - 1 )</math>
::<math>\binom{p}{k} \equiv 0 \pmod{p}</math>
+
|-style=height:2.5em
 
+
| &#9679;&nbsp;&nbsp;&nbsp; jeżeli&nbsp; <math>8 \nmid m</math>, &nbsp;ale&nbsp; <math>4 \mid m</math> &nbsp;i&nbsp; <math>4 \nmid ( a - 1 )</math>
dla każdego <math>k \in [1, p - 1]</math>.
+
|}
  
 
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
Łatwo zauważamy, że dla <math>k \in [1, p - 1]</math> liczba pierwsza <math>p</math> dzieli licznik, ale nie dzieli mianownika współczynnika dwumianowego
 
 
::<math>\binom{p}{k} = {\small\frac{p!}{k! \cdot (p - k)!}}</math>
 
 
zatem <math>p \biggr\rvert \binom{p}{k}</math>. Co należało pokazać.<br/>
 
&#9633;
 
{{\Spoiler}}
 
 
  
 +
'''Punkt 1.'''
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie L44</span><br/>
+
Z założenia <math>d \mid m</math>. Gdyby kongruencja
Jeżeli <math>p</math> jest liczbą pierwszą nieparzystą, to
 
  
::<math>\binom{p + 1}{k} \equiv 0 \pmod{p}</math>
+
::<math>x^2 \equiv a \pmod{m}</math>
  
dla każdego <math>k \in [2, p - 1]</math>.
+
miała rozwiązanie, to również kongruencja
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
+
::<math>x^2 \equiv a \pmod{d}</math>
Jeżeli <math>k \in [2, p - 1]</math>, to modulo <math>p</math> dostajemy
 
  
::<math>\binom{p + 1}{k} = \binom{p}{k} + \binom{p}{k - 1} \equiv 0 \pmod{p}</math>
+
miałaby rozwiązanie, ale jest to niemożliwe, bo założyliśmy, że <math>\left( {\small\frac{a}{d}} \right)_{\small{\!\! J}} = - 1</math>, co oznacza, że <math>a</math> jest liczbą niekwadratową modulo <math>d</math>.
  
Bo liczba pierwsza <math>p</math> dzieli licznik, ale nie dzieli mianownika współczynników dwumianowych po prawej stronie. Co należało pokazać.<br/>
+
Punkty 2. i 3. wynikają wprost z&nbsp;twierdzenia J49.<br/>
 
&#9633;
 
&#9633;
 
{{\Spoiler}}
 
{{\Spoiler}}
Linia 1939: Linia 1478:
  
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie L45</span><br/>
+
<span style="font-size: 110%; font-weight: bold;">Przykład J51</span><br/>
Jeżeli <math>p</math> jest liczbą pierwszą, to
+
Zauważmy, że <math>\left( {\small\frac{17}{19}} \right)_{\small{\!\! J}} = \left( {\small\frac{5}{19}} \right)_{\small{\!\! J}} = 1</math> oraz <math>\left( {\small\frac{17}{23}} \right)_{\small{\!\! J}} = \left( {\small\frac{5}{23}} \right)_{\small{\!\! J}} = - 1</math>. W&nbsp;tabelach zestawiliśmy kongruencje i&nbsp;ich rozwiązania.
  
::<math>\binom{p - 1}{k} \equiv (- 1)^k \pmod{p}</math>
+
{| class="wikitable plainlinks"  style="display: inline-table; margin-left: 60px; margin-right: 50px; font-size: 90%; text-align: left;"
 +
|-
 +
! Kongruencje || Rozwiązania
 +
|-
 +
| <math>x^2 \equiv 17 \pmod{16 \cdot 19}</math> || <math>25, 63, 89, 127, 177, 215, 241, 279</math>
 +
|-
 +
| <math>x^2 \equiv 17 \pmod{8 \cdot 19}</math> || <math>13, 25, 51, 63, 89, 101, 127, 139</math>
 +
|-
 +
| <math>x^2 \equiv 5 \;\, \pmod{8 \cdot 19}</math> || <math>\text{brak}</math>
 +
|-
 +
| <math>x^2 \equiv 5 \;\, \pmod{4 \cdot 19}</math> || <math>9, 29, 47, 67</math>
 +
|}
 +
{| class="wikitable plainlinks"  style="display: inline-table; margin-left: 5px; margin-right: 5px; font-size: 90%; text-align: left;"
 +
|-
 +
! Kongruencje || Rozwiązania
 +
|-
 +
| <math>x^2 \equiv 17 \pmod{16 \cdot 23}</math> || <math>\text{brak}</math>
 +
|-
 +
| <math>x^2 \equiv 17 \pmod{8 \cdot 23}</math> || <math>\text{brak}</math>
 +
|-
 +
| <math>x^2 \equiv 5 \;\, \pmod{8 \cdot 23}</math> || <math>\text{brak}</math>
 +
|-
 +
| <math>x^2 \equiv 5 \;\, \pmod{4 \cdot 23}</math> || <math>\text{brak}</math>
 +
|}
  
dla każdego <math>k \in [0, p - 1]</math>.
 
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 
Łatwo sprawdzamy, że twierdzenie jest prawdziwe dla liczby pierwszej parzystej <math>p = 2</math>. Załóżmy, że <math>p</math> jest liczbą pierwszą nieparzystą. Równie łatwo sprawdzamy, że twierdzenie jest prawdziwe dla <math>k = 0</math> i <math>k = 1</math>. Zauważmy, że dla <math>k \in [1, p - 1]</math> jest
 
  
::<math>\binom{p - 1}{k} = {\small\frac{(p - 1) !}{k! (p - 1 - k) !}} = {\small\frac{p - k}{k}} \cdot {\small\frac{(p - 1) !}{(k - 1) ! (p - k) !}} = {\small\frac{p - k}{k}} \cdot \binom{p - 1}{k - 1} = {\small\frac{p}{k}} \cdot \binom{p - 1}{k - 1} - \binom{p - 1}{k - 1}</math>
+
<span style="font-size: 110%; font-weight: bold;">Zadanie J52</span><br/>
 +
Rozwiązać kongruencję, gdzie <math>p</math> jest liczbą pierwszą nieparzystą
  
Ponieważ współczynniki dwumianowe są liczbami całkowitymi, a&nbsp;liczba <math>k \in [2, p - 1]</math> nie dzieli liczby pierwszej nieparzystej <math>p</math>, to <math>k</math> musi dzielić liczbę <math>\binom{p - 1}{k - 1}</math>. Zatem dla <math>k \in [2, p - 1]</math> modulo <math>p</math> mamy
+
::<math>x^2 + rx + s \equiv 0 \pmod{p}</math>
  
::<math>\binom{p - 1}{k} \equiv - \binom{p - 1}{k - 1}\pmod{p}</math>
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Rozwiązanie|Hide=Ukryj rozwiązanie}}
 +
Ponieważ <math>\gcd (2, p) = 1</math>, to nie zmniejszając ogólności kongruencję powyższą możemy zapisać w&nbsp;postaci
  
Skąd otrzymujemy
+
::<math>4 x^2 + 4 rx + 4 s \equiv 0 \pmod{p}</math>
  
::<math>\binom{p - 1}{k} \equiv (- 1)^1 \binom{p - 1}{k - 1} \equiv (- 1)^2 \binom{p - 1}{k - 2} \equiv \ldots \equiv (- 1)^{k - 2} \binom{p - 1}{2} \equiv (- 1)^{k - 1} \binom{p - 1}{1} \equiv (- 1)^k \pmod{p}</math>
+
::<math>(2 x + r)^2 - r^2 + 4 s \equiv 0 \pmod{p}</math>
  
Co należało pokazać.<br/>
+
::<math>(2 x + r)^2 \equiv r^2 - 4 s \pmod{p}</math>
&#9633;
 
{{\Spoiler}}
 
 
 
 
 
 
 
<span style="font-size: 110%; font-weight: bold;">Twierdzenie L46</span><br/>
 
Dla współczynników dwumianowych prawdziwe są następujące wzory
 
 
 
::<math>\underset{k \; \text{parzyste}}{\sum_{k = 0}^{n}} \binom{n}{k} = 2^{n - 1}</math>
 
 
 
::<math>\underset{k \; \text{nieparzyste}}{\sum_{k = 1}^{n}} \binom{n}{k} = 2^{n - 1}</math>
 
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
+
Widzimy, że rozpatrywana kongruencja ma rozwiązanie wtedy i&nbsp;tylko wtedy, gdy liczba <math>r^2 - 4 s</math> jest liczbą kwadratową modulo <math>p</math>. Istotnie, jeśli jest liczbą kwadratową, to istnieje taka liczba <math>b</math>, że <math>b^2 \equiv r^2 - 4 s \!\! \pmod{p}</math>, zatem otrzymujemy
Ze wzoru dwumianowego
 
  
::<math>(a + b)^n = \sum_{k = 0}^{n} \binom{n}{k} a^{n - k} b^k</math>
+
::<math>(2 x + r)^2 \equiv b^2 \pmod{p}</math>
  
z łatwością otrzymujemy
+
::<math>2 x + r \equiv \pm b \pmod{p}</math>
  
::<math>(1 + 1)^n = \sum_{k = 0}^{n} \binom{n}{k} = 2^n</math>
+
::<math>x \equiv {\small\frac{p + 1}{2}} \cdot (- r \pm b) \pmod{p}</math>
  
::<math>(1 - 1)^n = \sum_{k = 0}^{n} (- 1)^k \binom{n}{k} = 0</math>
+
Jeśli <math>r^2 - 4 s</math> nie jest liczbą kwadratową modulo <math>p</math>, to kongruencja
  
Obliczając sumę i&nbsp;różnicę powyższych wzorów mamy
+
::<math>(2 x + r)^2 \equiv r^2 - 4 s \pmod{p}</math>
  
::<math>\sum_{k = 0}^{n} \binom{n}{k} (1 + (- 1)^k) = 2 \underset{k \; \text{parzyste}}{\sum^n_{k = 0}} \binom{n}{k} = 2^n</math>
+
nie ma rozwiązania. Wynika stąd, że równoważna jej kongruencja
  
::<math>\sum_{k = 0}^{n} \binom{n}{k} (1 - (- 1)^k) = 2 \underset{k \; \text{nieparzyste}}{\sum_{k = 1}^{n}} \binom{n}{k} = 2^n</math>
+
::<math>x^2 + rx + s \equiv 0 \pmod{p}</math>
  
Skąd natychmiast wynika
+
również nie ma rozwiązania.<br/>
 
 
::<math>\underset{k \; \text{parzyste}}{\sum_{k = 0}^{n}} \binom{n}{k} = 2^{n - 1}</math>
 
 
 
::<math>\underset{k \; \text{nieparzyste}}{\sum_{k = 1}^{n}} \binom{n}{k} = 2^{n - 1}</math>
 
 
 
Co należało pokazać.<br/>
 
 
&#9633;
 
&#9633;
 
{{\Spoiler}}
 
{{\Spoiler}}
Linia 2001: Linia 1544:
  
  
 +
<span style="font-size: 110%; font-weight: bold;">Zadanie J53</span><br/>
 +
Rozwiązać kongruencję
  
 +
::<math>5 x^2 + 6 x + 8 \equiv 0 \pmod{19}</math>
  
=== <span style="border-bottom:1px solid #000;">Funkcje <span style="font-size: 95%; background-color: #f8f9fa"><tt>digits(m, b)</tt></span> oraz <span style="font-size: 95%; background-color: #f8f9fa"><tt>issquare(m)</tt></span></span> ===
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Rozwiązanie|Hide=Ukryj rozwiązanie}}
 
+
Rozwiązywanie kongruencji w&nbsp;przypadku konkretnych wartości liczb <math>r, s</math> jest łatwiejsze niż w&nbsp;przypadku ogólnym. Mnożąc obie strony kongruencji przez <math>4</math>, otrzymujemy
&nbsp;
 
 
 
<span style="font-size: 110%; font-weight: bold;">Uwaga L47</span><br/>
 
W funkcji <code>modLucas()</code> wykorzystaliśmy zaimplementowaną w&nbsp;PARI/GP funkcję
 
  
<code>digits(m, b)</code> – zwraca wektor cyfr liczby <math>| m |</math> w&nbsp;systemie liczbowym o&nbsp;podstawie <math>b</math>
+
::<math>x^2 + 24 x + 32 \equiv 0 \pmod{19}</math>
  
W naszym przypadku potrzebowaliśmy uzyskać wektor cyfr liczby <math>m</math> w&nbsp;układzie dwójkowym, czyli funkcję <code>digits(m, 2)</code> . Wprowadzenie tej funkcji pozwoliło zwiększyć czytelność kodu, ale bez trudu możemy ją sami napisać. Zauważmy, że do zapisania liczby <math>m \geqslant 1</math> potrzebujemy <math>\log_2 m + 1</math> cyfr. Zastępując funkcję <math>\log_2 m</math> funkcją <math>\left \lfloor \tfrac{\log m}{\log 2} \right \rfloor</math> musimy liczyć się z&nbsp;możliwym błędem zaokrąglenia – dlatego w&nbsp;programie deklarujemy wektor <code>V</code> o&nbsp;długości <code>floor( log(m)/log(2) ) + 2</code>. Zwracany wektor <code>W</code> ma już prawidłową długość.
+
::<math>x^2 + 24 x + 13 \equiv 0 \pmod{19}</math>
  
<span style="font-size: 90%; color:black;">Dec2Bin(m) =
+
Celowo zostawiliśmy parzysty współczynnik przy <math>x</math>. Gdyby był nieparzysty, to zawsze możemy dodać do niego nieparzysty moduł.
\\ zwraca wektor cyfr liczby m w układzie dwójkowym
 
{
 
'''local'''(i, k, V, W);
 
'''if'''( m == 0, '''return'''([0]) );
 
V = '''vector'''( '''floor'''( '''log'''(m)/'''log'''(2) ) + 2 ); \\ potrzeba floor( log(m)/log(2) ) + 1, ale błąd zaokrąglenia może zepsuć wynik
 
k = 0;
 
'''while'''( m > 0,
 
        V[k++] = m % 2;
 
        m = '''floor'''(m / 2);
 
      );
 
W = '''vector'''(k);
 
'''for'''(i = 1, k, W[i] = V[k + 1 - i]);
 
'''return'''(W);
 
}
 
  
 +
::<math>(x + 12)^2 - 144 + 13 \equiv 0 \pmod{19}</math>
  
 +
::<math>(x + 12)^2 + 2 \equiv 0 \pmod{19}</math>
  
<span style="font-size: 110%; font-weight: bold;">Uwaga L48</span><br/>
+
::<math>(x + 12)^2 \equiv - 2 \pmod{19}</math>
W funkcjach <code>LucasTest()</code> i <code>StrongLucasTest()</code> wykorzystaliśmy zaimplementowaną w&nbsp;PARI/GP funkcję
 
  
<code>issquare(m)</code> – sprawdza, czy liczba <math>m</math> jest liczbą kwadratową
+
::<math>(x + 12)^2 \equiv 6^2 \pmod{19}</math>
  
Wprowadzenie tej funkcji pozwoliło zwiększyć czytelność kodu, ale bez trudu możemy ją sami napisać. Potrzebna nam będzie funkcja, która znajduje całość z&nbsp;pierwiastka z&nbsp;liczby <math>m</math>, czyli <math>\left\lfloor \sqrt{m} \right\rfloor</math>. Wykorzystamy tutaj ciąg
+
::<math>x + 12 \equiv \pm 6 \pmod{19}</math>
  
::<math>a_{k + 1} =
+
Otrzymujemy: <math>x \equiv 1 \!\! \pmod{19}</math> lub <math>x \equiv 13 \!\! \pmod{19}</math>.
  \begin{cases}
 
  \qquad \;\; 1 & \text{gdy } k = 0 \\
 
      \tfrac{1}{2} \left( a_k + \tfrac{x}{a_k} \right) & \text{gdy } k > 0
 
  \end{cases}</math>
 
  
którego granicą jest <math>\sqrt{x}</math> <ref name="pierwiastek1"/>.
 
  
Modyfikując powyższą definicję tak, aby operacje były zawsze wykonywane na liczbach całkowitych<ref name="IntegerSquareRoot1"/>
+
Nieco spostrzegawczości pozwala znaleźć rozwiązanie kongruencji natychmiast. W&nbsp;naszym przypadku wystarczyło zauważyć, że
  
::<math>a_{k + 1} =
+
::<math>x^2 + 24 x + 13 \equiv x^2 - 14 x + 13 \equiv (x - 1) (x - 13) \equiv 0 \pmod{19}</math><br/>
  \begin{cases}
+
&#9633;
  \qquad \quad \; 1 & \text{gdy } k = 0 \\
+
{{\Spoiler}}
      \left\lfloor \tfrac{1}{2} \left( a_k + \left\lfloor \tfrac{m}{a_k} \right\rfloor \right) \right\rfloor & \text{gdy } k > 0  
 
  \end{cases}</math>
 
 
 
otrzymujemy ciąg, którego wszystkie wyrazy, począwszy od pewnego skończonego <math>n_0</math>, są równe <math>\left\lfloor \sqrt{m} \right\rfloor</math>. Nie dotyczy to przypadku, gdy <math>m + 1</math> jest liczbą kwadratową, wtedy, począwszy od pewnego skończonego <math>n_0</math>, wyrazy ciągu przyjmują na zmianę wartości <math>\left\lfloor \sqrt{m} \right\rfloor</math> oraz <math>\left\lfloor \sqrt{m} \right\rfloor + 1</math>.
 
 
 
Na tej podstawie możemy w&nbsp;PARI/GP napisać funkcję
 
 
 
<span style="font-size: 90%; color:black;">intSqrt(m) =
 
{
 
'''local'''(a, b);
 
'''if'''( m == 0, '''return'''(0) );
 
a = 2^( '''floor'''( '''log'''(m)/'''log'''(2)/2 ) + 2 ); \\ musi być a > sqrt(m)
 
b = '''floor'''(( a + '''floor'''( m/a ) )/2);
 
'''while'''( b < a,
 
        a = b;
 
        b = '''floor'''( ( a + '''floor'''(m/a) )/2 );
 
      );
 
'''return'''(a);
 
}</span>
 
 
 
Oczywiście liczba <math>m</math> jest liczbą kwadratową, wtedy i&nbsp;tylko wtedy, gdy <math>m = \left\lfloor \sqrt{m} \right\rfloor^2</math>, zatem wystarczy sprawdzić, czy <code>m == intSqrt(m)^2</code>.
 
  
  
Linia 2091: Linia 1594:
 
<references>
 
<references>
  
<ref name="BaillieWagstaff1">Robert Baillie and Samuel S. Wagstaff Jr., ''Lucas Pseudoprimes'', Mathematics of Computation Vol. 35, No. 152 (1980), ([http://mpqs.free.fr/LucasPseudoprimes.pdf LINK])</ref>
+
<ref name="CRT1">Wikipedia, ''Chińskie twierdzenie o&nbsp;resztach'', ([https://pl.wikipedia.org/wiki/Chi%C5%84skie_twierdzenie_o_resztach Wiki-pl]), ([https://en.wikipedia.org/wiki/Chinese_remainder_theorem Wiki-en])</ref>
  
<ref name="Arnault1">François Arnault, ''The Rabin-Monier Theorem for Lucas Pseudoprimes'', Mathematics of Computation Vol. 66, No. 218 (1997)</ref>
+
<ref name="CRT2">CRT to często używany skrót od angielskiej nazwy twierdzenia: ''Chinese remainder theorem''</ref>
  
<ref name="pierwiastek1">Wikipedia, ''Pierwiastek kwadratowy'', ([https://pl.wikipedia.org/wiki/Metody_obliczania_pierwiastka_kwadratowego#Metoda_babilo%C5%84ska Wiki-pl]), ([https://en.wikipedia.org/wiki/Methods_of_computing_square_roots#Babylonian_method Wiki-en])</ref>
+
<ref name="logic1">Wikipedia, ''Logical equivalence'', ([https://en.wikipedia.org/wiki/Logical_equivalence Wiki-en])</ref>
  
<ref name="IntegerSquareRoot1">Wikipedia, ''Integer square root'', ([https://en.wikipedia.org/wiki/Integer_square_root#Using_only_integer_division Wiki-en])</ref>
+
<ref name="sumazbiorow">Wikipedia, ''Zasada włączeń i&nbsp;wyłączeń'', ([https://pl.wikipedia.org/wiki/Zasada_w%C5%82%C4%85cze%C5%84_i_wy%C5%82%C4%85cze%C5%84 Wiki-pl]), ([https://en.wikipedia.org/wiki/Inclusion%E2%80%93exclusion_principle Wiki-en])</ref>
  
<ref name="BPSW1">Wikipedia, ''Baillie–PSW primality test'', ([https://en.wikipedia.org/wiki/Baillie%E2%80%93PSW_primality_test Wiki-en])</ref>
+
<ref name="jacobi1">Wikipedia, ''Symbol Jacobiego'', ([https://pl.wikipedia.org/wiki/Symbol_Jacobiego Wiki-pl]), ([https://en.wikipedia.org/wiki/Jacobi_symbol Wiki-en])</ref>
  
<ref name="BPSW2">MathWorld, ''Baillie-PSW Primality Test'', ([https://mathworld.wolfram.com/Baillie-PSWPrimalityTest.html LINK])</ref>
+
<ref name="legendre1">Wikipedia, ''Symbol Legendre’a'', ([https://pl.wikipedia.org/wiki/Symbol_Legendre%E2%80%99a Wiki-pl]), ([https://en.wikipedia.org/wiki/Legendre_symbol Wiki-en])</ref>
  
 
</references>
 
</references>

Wersja z 12:53, 8 lip 2023

22.03.2023



Chińskie twierdzenie o resztach

Twierdzenie J1
Niech [math]\displaystyle{ a, u \in \mathbb{Z} }[/math] i [math]\displaystyle{ m, n \in \mathbb{Z}_+ }[/math] i [math]\displaystyle{ \gcd (m, n) = 1 }[/math]. Kongruencja

[math]\displaystyle{ u \equiv a \pmod{m n} }[/math]

jest równoważna układowi kongruencji

[math]\displaystyle{ \begin{align} u &\equiv a \pmod{m} \\ u &\equiv a \pmod{n} \end{align} }[/math]
Dowód

[math]\displaystyle{ \Large{\Longrightarrow} }[/math]

Jeżeli liczba [math]\displaystyle{ u - a }[/math] jest podzielna przez iloczyn [math]\displaystyle{ m n }[/math], to tym bardziej jest podzielna przez dowolny czynnik tego iloczynu, skąd wynika natychmiast wypisany układ kongruencji.

[math]\displaystyle{ \Large{\Longleftarrow} }[/math]

Z kongruencji

[math]\displaystyle{ u \equiv a \pmod{m} }[/math]

wynika, że [math]\displaystyle{ u - a = k m }[/math], zaś z kongruencji

[math]\displaystyle{ u \equiv a \pmod{n} }[/math]

otrzymujemy [math]\displaystyle{ n \mid (u - a) }[/math], czyli [math]\displaystyle{ n \mid k m }[/math]. Ponieważ [math]\displaystyle{ \gcd (m, n) = 1 }[/math], zatem [math]\displaystyle{ n \mid k }[/math] (zobacz C74) i istnieje taka liczba całkowita [math]\displaystyle{ s }[/math], że [math]\displaystyle{ k = s n }[/math], czyli [math]\displaystyle{ u - a = s n m }[/math], a stąd [math]\displaystyle{ u \equiv a \!\! \pmod{m n} }[/math]. Co kończy dowód.


Twierdzenie J2
Dla dowolnych liczb [math]\displaystyle{ a, b \in \mathbb{Z} }[/math] i względnie pierwszych liczb [math]\displaystyle{ m, n \in \mathbb{Z}_+ }[/math] istnieje dokładnie jedna taka liczba [math]\displaystyle{ c }[/math] (określona modulo [math]\displaystyle{ m n }[/math]), że prawdziwy jest układ kongruencji

[math]\displaystyle{ \begin{align} c & \equiv a \pmod{m} \\ c & \equiv b \pmod{n} \end{align} }[/math]
Dowód

Z założenia liczby [math]\displaystyle{ m }[/math] i [math]\displaystyle{ n }[/math] są względnie pierwsze, zatem na mocy lematu Bézouta (C.71) istnieją takie liczby [math]\displaystyle{ x, y \in \mathbb{Z} }[/math], że

[math]\displaystyle{ m x + n y = 1 }[/math]

Niech [math]\displaystyle{ c = a n y + b m x }[/math]. Modulo [math]\displaystyle{ m }[/math] dostajemy

[math]\displaystyle{ c \equiv a n y \pmod{m} }[/math]
[math]\displaystyle{ c \equiv a (1 - m x) \pmod{m} }[/math]
[math]\displaystyle{ c \equiv a \pmod{m} }[/math]

Natomiast modulo [math]\displaystyle{ n }[/math] mamy

[math]\displaystyle{ c \equiv b m x \pmod{n} }[/math]
[math]\displaystyle{ c \equiv b (1 - n y) \pmod{n} }[/math]
[math]\displaystyle{ c \equiv b \pmod{n} }[/math]

Pokazaliśmy tym samym istnienie szukanej liczby [math]\displaystyle{ c }[/math]. Przypuśćmy, że istnieją dwie takie liczby [math]\displaystyle{ c }[/math] i [math]\displaystyle{ d }[/math]. Z założenia [math]\displaystyle{ m \mid (d - a) }[/math] i [math]\displaystyle{ m \mid (c - a) }[/math], zatem [math]\displaystyle{ m }[/math] dzieli różnicę tych liczb, czyli [math]\displaystyle{ m \mid (d - c) }[/math]. Podobnie pokazujemy, że [math]\displaystyle{ n \mid (d - c) }[/math]. Ponieważ liczby [math]\displaystyle{ m }[/math] i [math]\displaystyle{ n }[/math] są względnie pierwsze, to [math]\displaystyle{ m n \mid (d - c) }[/math] (zobacz C75), co oznacza, że

[math]\displaystyle{ d \equiv c \pmod{m n} }[/math].

Czyli możemy powiedzieć, że wybrana przez nas liczba [math]\displaystyle{ c }[/math] jest określona modulo [math]\displaystyle{ m n }[/math] i tak rozumiana jest dokładnie jedna. W szczególności istnieje tylko jedna liczba [math]\displaystyle{ c }[/math] taka, że [math]\displaystyle{ 1 \leqslant c \leqslant m n }[/math].


Twierdzenie J3 (chińskie twierdzenie o resztach)
Niech [math]\displaystyle{ a, b, c, u \in \mathbb{Z} }[/math] i [math]\displaystyle{ m, n \in \mathbb{Z}_+ }[/math] oraz niech [math]\displaystyle{ \gcd (m, n) = 1 }[/math]. Istnieje dokładnie jedna liczba [math]\displaystyle{ c }[/math] (określona modulo [math]\displaystyle{ m n }[/math]) taka, że kongruencja

[math]\displaystyle{ u \equiv c \pmod{m n} }[/math]

jest równoważna układowi kongruencji

[math]\displaystyle{ \begin{align} u & \equiv a \pmod{m} \\ u & \equiv b \pmod{n} \end{align} }[/math]
Dowód

Z twierdzenia J2 wiemy, że istnieje dokładnie jedna liczba [math]\displaystyle{ c }[/math] (określona modulo [math]\displaystyle{ m n }[/math]) taka, że prawdziwy jest układ kongruencji

[math]\displaystyle{ \begin{align} c & \equiv a \pmod{m} \\ c & \equiv b \pmod{n} \end{align} }[/math]

Korzystając z tego rezultatu i twierdzenia J1, otrzymujemy

[math]\displaystyle{ u \equiv c \pmod{m n} \qquad \Longleftrightarrow \qquad \begin{array}{l} u \equiv c \; \pmod{m} \\ u \equiv c \; \pmod{n} \\ \end{array} \qquad \Longleftrightarrow \qquad \begin{array}{l} u \equiv a \; \pmod{m} \\ u \equiv b \:\, \pmod{n} \\ \end{array} }[/math]

Co należało pokazać.


Uwaga J4
Chińskie twierdzenie o resztach[1] (CRT[2]) pozostaje prawdziwe w przypadku układu skończonej liczby kongruencji. Założenie, że moduły [math]\displaystyle{ m }[/math] i [math]\displaystyle{ n }[/math] są względnie pierwsze, jest istotne. Przykładowo układ kongruencji

[math]\displaystyle{ \begin{align} u &\equiv 1 \pmod{4} \\ u &\equiv 3 \pmod{8} \end{align} }[/math]

nie może być zapisany w postaci jednej równoważnej kongruencji, bo nie istnieją liczby, które spełniałyby powyższy układ jednocześnie. Łatwo zauważamy, że rozwiązaniem pierwszego równania jest [math]\displaystyle{ u = 4 k + 1 }[/math], które dla liczb [math]\displaystyle{ k }[/math] parzystych i nieparzystych ma postać

[math]\displaystyle{ u = 8 j + 1, \qquad u = 8 j + 5 }[/math]

i nie może być [math]\displaystyle{ u \equiv 3 \!\! \pmod{8} }[/math].


Zadanie J5
Niech [math]\displaystyle{ u, a_1, \ldots, a_k \in \mathbb{Z} }[/math] i [math]\displaystyle{ m_1, \ldots, m_k \in \mathbb{Z}_+ }[/math]. Pokazać, że jeżeli liczby [math]\displaystyle{ m_1, \ldots, m_k }[/math] są parami względnie pierwsze (czyli [math]\displaystyle{ \gcd (m_i, m_j) = 1 }[/math] dla [math]\displaystyle{ i \neq j }[/math]), to istnieje dokładnie jedna liczba [math]\displaystyle{ c }[/math] (określona modulo [math]\displaystyle{ m_1 \cdot \ldots \cdot m_k }[/math]) taka, że układ kongruencji

[math]\displaystyle{ \begin{align} u & \equiv a_1 \pmod{m_1} \\ & \cdots \\ u & \equiv a_k \pmod{m_k} \end{align} }[/math]

można zapisać w sposób równoważny w postaci kongruencji

[math]\displaystyle{ u \equiv c \;\; \pmod{m_1 \cdot \ldots \cdot m_k} }[/math]
Rozwiązanie

Indukcja matematyczna. Twierdzenie jest prawdziwe dla liczby [math]\displaystyle{ k = 2 }[/math] (zobacz J3). Zakładając prawdziwość twierdzenia dla liczby naturalnej [math]\displaystyle{ k \geqslant 2 }[/math], dla liczby [math]\displaystyle{ k + 1 }[/math] otrzymujemy układ kongruencji

[math]\displaystyle{ \begin{align} u & \equiv c \quad \;\, \pmod{m_1 \cdot \ldots \cdot m_k} \\ u & \equiv a_{k + 1} \pmod{m_{k + 1}} \end{align} }[/math]

gdzie skorzystaliśmy z założenia indukcyjnego. Z twierdzenia J3 wynika, że układ ten można zapisać w sposób równoważny w postaci kongruencji

[math]\displaystyle{ u \equiv c' \pmod{m_1 \cdot \ldots \cdot m_k m_{k + 1}} }[/math]

gdzie liczba [math]\displaystyle{ c' }[/math] jest dokładnie jedna i jest określona modulo [math]\displaystyle{ m_1 \cdot \ldots \cdot m_k m_{k + 1} }[/math]. Zatem twierdzenie jest prawdziwe dla [math]\displaystyle{ k + 1 }[/math]. Co kończy dowód indukcyjny.


Przykład J6
Dysponujemy pewną ilością kulek. Grupując je po [math]\displaystyle{ 5 }[/math], zostają nam [math]\displaystyle{ 3 }[/math], a kiedy próbujemy ustawić je po [math]\displaystyle{ 7 }[/math], zostają nam [math]\displaystyle{ 4 }[/math]. Jaka najmniejsza ilość kulek spełnia te warunki? Rozważmy układ kongruencji

[math]\displaystyle{ \begin{align} n &\equiv 3 \pmod{5} \\ n &\equiv 4 \pmod{7} \end{align} }[/math]

Z chińskiego twierdzenia o resztach wiemy, że powyższy układ możemy zapisać w postaci równoważnej kongruencji modulo [math]\displaystyle{ 35 }[/math]. Jeśli chcemy zaoszczędzić sobie trudu, to wystarczy skorzystać z PARI/GP. Wpisując proste polecenie

chinese( Mod(3,5), Mod(4,7) )

uzyskujemy wynik Mod(18, 35), zatem równoważna kongruencja ma postać

[math]\displaystyle{ n \equiv 18 \pmod{35} }[/math]

Jest to zarazem odpowiedź na postawione pytanie: najmniejsza liczba kulek wynosi [math]\displaystyle{ 18 }[/math].

Gdybyśmy chcieli rozważać bardziej rozbudowany układ kongruencji, przykładowo

[math]\displaystyle{ \begin{align} n &\equiv 1 \pmod{2} \\ n &\equiv 2 \pmod{3} \\ n &\equiv 3 \pmod{5} \\ n &\equiv 4 \pmod{7} \\ n &\equiv 5 \pmod{11} \end{align} }[/math]

to argumenty należy zapisać w postaci wektora

chinese( [Mod(1,2), Mod(2,3), Mod(3,5), Mod(4,7), Mod(5,11)] )

Otrzymujemy Mod(1523, 2310).



Wielomiany

Twierdzenie J7
Niech [math]\displaystyle{ W_n (x) }[/math] będzie dowolnym wielomianem stopnia [math]\displaystyle{ n }[/math]. Wielomian [math]\displaystyle{ W_n (x) }[/math] można przedstawić w postaci

[math]\displaystyle{ W_n (x) = W_n (s) + (x - s) V_{n - 1} (x) }[/math]

gdzie [math]\displaystyle{ V_{n - 1} (x) }[/math] jest wielomianem stopnia [math]\displaystyle{ n - 1 }[/math], a współczynniki wiodące wielomianów [math]\displaystyle{ W_n (x) }[/math] i [math]\displaystyle{ V_{n - 1} (x) }[/math] są sobie równe.

Dowód

Z założenia [math]\displaystyle{ W_n (x) = \sum_{k = 0}^{n} a_k x^k }[/math], gdzie [math]\displaystyle{ a_n \neq 0 }[/math]. Zauważmy, że

[math]\displaystyle{ W_n (x) - W_n (s) = \sum_{k = 0}^{n} a_k x^k - \sum_{k = 0}^{n} a_k s^k }[/math]
[math]\displaystyle{ \quad \; = \sum_{k = 1}^{n} a_k (x^k - s^k) }[/math]

Dla [math]\displaystyle{ k \geqslant 1 }[/math] prawdziwy jest wzór

[math]\displaystyle{ x^k - s^k = (x - s) \sum_{j = 1}^{k} x^{k - j} s^{j - 1} }[/math]
[math]\displaystyle{ \;\,\, = (x - s) (x^{k - 1} + s x^{k - 2} + \ldots + s^{k - 2} x + s^{k - 1}) }[/math]
[math]\displaystyle{ \;\,\, = (x - s) U^{(k)} (x) }[/math]

Gdzie przez [math]\displaystyle{ U^{(k)} (x) = \sum_{j = 1}^{k} x^{k - j} s^{j - 1} }[/math] oznaczyliśmy wielomian, którego stopień jest równy [math]\displaystyle{ k - 1 }[/math]. Zatem możemy napisać

[math]\displaystyle{ W_n (x) - W_n (s) = (x - s) \sum_{k = 1}^{n} a_k U^{(k)} (x) }[/math]

Suma wypisana po prawej stronie jest pewnym wielomianem [math]\displaystyle{ V_{n - 1} (x) }[/math]. Ponieważ ze wszystkich wielomianów [math]\displaystyle{ a_k U^{(k)} (x) }[/math], wielomian [math]\displaystyle{ a_n U^{(n)} (x) }[/math] ma największy stopień równy [math]\displaystyle{ n - 1 }[/math], to stopień wielomianu [math]\displaystyle{ V_{n - 1} (x) }[/math] jest równy [math]\displaystyle{ n - 1 }[/math]. Czyli

[math]\displaystyle{ W_n (x) - W_n (s) = (x - s) V_{n - 1} (x) }[/math]

Niech [math]\displaystyle{ V_n (x) = \sum_{k = 0}^{n - 1} b_k x^k }[/math]. Mamy

[math]\displaystyle{ \sum_{k = 0}^{n} a_k x^k - W_n (s) = \sum_{k = 0}^{n - 1} b_k x^{k + 1} - s \sum_{k = 0}^{n - 1} b_k x^k }[/math]

Porównując wyrazy o największym stopniu, łatwo zauważamy, że [math]\displaystyle{ a_n = b_{n - 1} }[/math]. Czyli współczynnik wiodący wielomianu [math]\displaystyle{ V_{n - 1} (x) }[/math] jest równy [math]\displaystyle{ a_n }[/math]. Co należało pokazać.


Definicja J8
Wielomian [math]\displaystyle{ W_n (x) = \sum_{k = 0}^{n} a_k x^k }[/math], gdzie [math]\displaystyle{ a_0, \ldots, a_n \in \mathbb{Z} }[/math] oraz [math]\displaystyle{ a_n \neq 0 }[/math], będziemy nazywali wielomianem całkowitym stopnia [math]\displaystyle{ n }[/math].


Definicja J9
Powiemy, że wielomian całkowity [math]\displaystyle{ W_n (x) = \sum_{k = 0}^{n} a_k x^k }[/math] jest stopnia [math]\displaystyle{ n }[/math] modulo [math]\displaystyle{ p }[/math], gdzie [math]\displaystyle{ p }[/math] jest liczbą pierwszą, jeżeli [math]\displaystyle{ p \nmid a_n }[/math]. Jeżeli każdy współczynnik [math]\displaystyle{ a_k }[/math], gdzie [math]\displaystyle{ k = 0, 1, \ldots, n }[/math], jest podzielny przez [math]\displaystyle{ p }[/math], to stopień wielomianu [math]\displaystyle{ W_n (x) }[/math] modulo [math]\displaystyle{ p }[/math] jest nieokreślony.


Twierdzenie J10
Niech [math]\displaystyle{ W_n (x) = \sum_{k = 0}^{n} a_k x^k }[/math] będzie wielomianem całkowitym i [math]\displaystyle{ m \in \mathbb{Z}_+ }[/math]. Jeżeli prawdziwa jest kongruencja [math]\displaystyle{ x \equiv y \!\! \pmod{m} }[/math], to

[math]\displaystyle{ W_n (x) \equiv W_n (y) \pmod{m} }[/math]
Dowód

Dla [math]\displaystyle{ k \geqslant 1 }[/math] wyrażenie [math]\displaystyle{ x^k - y^k }[/math] jest podzielne przez [math]\displaystyle{ x - y }[/math], co łatwo pokazać stosując indukcję matematyczną lub zauważając, że

[math]\displaystyle{ x^k - y^k = (x - y) \sum_{j = 1}^{k} x^{k - j} y^{j - 1} }[/math]

Z założenia [math]\displaystyle{ m \mid (x - y) }[/math], zatem dla [math]\displaystyle{ k \geqslant 1 }[/math] mamy [math]\displaystyle{ m \mid (x^k - y^k) }[/math]. Wynika stąd, że prawdziwe są kongruencje

[math]\displaystyle{ \begin{align} a_0 & \equiv a_0 \;\;\:\, \pmod{m}\\ a_1 x & \equiv a_1 y \;\, \pmod{m}\\ a_2 x^2 & \equiv a_2 y^2 \pmod{m}\\ & \cdots \\ a_n x^n & \equiv a_n y^n \pmod{m} \end{align} }[/math]

Dodając wypisane kongruencje stronami, otrzymujemy

[math]\displaystyle{ W_n (x) \equiv W_n (y) \pmod{m} }[/math]

Co należało pokazać.


Uwaga J11
Niech [math]\displaystyle{ W(x) }[/math] będzie wielomianem całkowitym. Rozważmy kongruencję

[math]\displaystyle{ W(x) \equiv 0 \pmod{m n} \qquad \qquad \qquad (1) }[/math]

gdzie liczby [math]\displaystyle{ m }[/math] i [math]\displaystyle{ n }[/math] są względnie pierwsze.

Kongruencja ta jest równoważna układowi kongruencji

[math]\displaystyle{ \begin{align} W (x) &\equiv 0 \pmod{m}\\ W (x) &\equiv 0 \pmod{n} \end{align} \qquad \qquad \qquad \; (2) }[/math]

Zatem problem szukania rozwiązań kongruencji [math]\displaystyle{ (1) }[/math] możemy sprowadzić do szukania rozwiązań układu kongruencji [math]\displaystyle{ (2) }[/math]. W szczególności wynika stąd, że jeżeli któraś z kongruencji [math]\displaystyle{ (2) }[/math] nie ma rozwiązania, to kongruencja [math]\displaystyle{ W(x) \equiv 0 \!\! \pmod{m n} }[/math] również nie ma rozwiązania.

Załóżmy, że każda z kongruencji [math]\displaystyle{ (2) }[/math] ma przynajmniej jedno rozwiązanie i niech

  • [math]\displaystyle{ x \equiv a \!\! \pmod{m} }[/math] będzie pierwiastkiem kongruencji [math]\displaystyle{ W (x) \equiv 0 \!\! \pmod{m} }[/math]
  • [math]\displaystyle{ x \equiv b \!\! \pmod{n} }[/math] będzie pierwiastkiem kongruencji [math]\displaystyle{ W (x) \equiv 0 \!\! \pmod{n} }[/math]

Pierwiastki te tworzą układ kongruencji

[math]\displaystyle{ \begin{align} x &\equiv a \pmod{m} \\ x &\equiv b \pmod{n} \end{align} \qquad \qquad \qquad \qquad (3) }[/math]

Z chińskiego twierdzenia o resztach wiemy, że układ ten możemy zapisać w postaci równoważnej

[math]\displaystyle{ x \equiv c \pmod{m n} }[/math]

Zauważmy, że liczba [math]\displaystyle{ c }[/math] określona modulo [math]\displaystyle{ m n }[/math] jest rozwiązaniem kongruencji [math]\displaystyle{ (1) }[/math]. Istotnie z twierdzenia J10 mamy

[math]\displaystyle{ \begin{align} W (c) &\equiv W (a) \equiv 0 \pmod{m} \\ W (c) &\equiv W (b) \equiv 0 \pmod{n} \end{align} }[/math]

ale liczby [math]\displaystyle{ m, n }[/math] są względnie pierwsze, zatem otrzymujemy, że

[math]\displaystyle{ W (c) \equiv 0 \pmod{m n} }[/math]

Wynika stąd, że każdemu układowi rozwiązań [math]\displaystyle{ (3) }[/math] odpowiada dokładnie jedno rozwiązanie kongruencji [math]\displaystyle{ (1) }[/math].

Podsumujmy: jeżeli kongruencje

[math]\displaystyle{ \begin{align} W (x) &\equiv 0 \pmod{m}\\ W (x) &\equiv 0 \pmod{n} \end{align} }[/math]

mają odpowiednio [math]\displaystyle{ r }[/math] i [math]\displaystyle{ s }[/math] pierwiastków, to liczba różnych układów kongruencji [math]\displaystyle{ (3) }[/math] jest równa iloczynowi [math]\displaystyle{ r s }[/math] i istnieje [math]\displaystyle{ r s }[/math] różnych rozwiązań kongruencji

[math]\displaystyle{ W(x) \equiv 0 \pmod{m n} }[/math]



Twierdzenie Lagrange'a

Twierdzenie J12
Kongruencja

[math]\displaystyle{ a_1 x + a_0 \equiv 0 \pmod{p} }[/math]

gdzie [math]\displaystyle{ p \nmid a_1 }[/math], ma dokładnie jedno rozwiązanie modulo [math]\displaystyle{ p }[/math].

Dowód

A. Istnienie rozwiązania

Ponieważ rozpatrywaną kongruencję możemy zapisać w postaci [math]\displaystyle{ a_1 x + a_0 = k p }[/math], to istnienie liczb [math]\displaystyle{ x }[/math] i [math]\displaystyle{ k }[/math], dla których ta równość jest prawdziwa, wynika z twierdzenia C76. Poniżej przedstawimy jeszcze jeden sposób znalezienia rozwiązania.

Ponieważ [math]\displaystyle{ \gcd (a_1, p) = 1 }[/math], to istnieją takie liczby [math]\displaystyle{ r, s }[/math], że [math]\displaystyle{ a_1 r + p s = 1 }[/math] (zobacz C73 - lemat Bézouta). Zauważmy, że [math]\displaystyle{ p \nmid r }[/math], bo gdyby tak było, to liczba pierwsza [math]\displaystyle{ p }[/math] dzieliłaby wyrażenie [math]\displaystyle{ a_1 r + p s }[/math], ale jest to niemożliwe, bo [math]\displaystyle{ a_1 r + p s = 1 }[/math]. Czyli modulo [math]\displaystyle{ p }[/math] mamy

[math]\displaystyle{ a_1 r \equiv 1 \pmod{p} }[/math]

Mnożąc rozpatrywaną kongruencję przez [math]\displaystyle{ r }[/math], otrzymujemy

[math]\displaystyle{ a_1 r x + a_0 r \equiv 0 \pmod{p} }[/math]

Zatem

[math]\displaystyle{ x \equiv - a_0 r \pmod{p} }[/math]

B. Brak innych rozwiązań

Przypuśćmy, że istnieją dwa różne rozwiązania kongruencji

[math]\displaystyle{ a_1 x + a_0 \equiv 0 \pmod{p} }[/math]

Jeśli oznaczymy je przez [math]\displaystyle{ x_1 }[/math] i [math]\displaystyle{ x_2 }[/math], to otrzymamy

[math]\displaystyle{ a_1 x_1 + a_0 \equiv 0 \equiv a_1 x_2 + a_0 \pmod{p} }[/math]

Czyli

[math]\displaystyle{ a_1 x_1 \equiv a_1 x_2 \pmod{p} }[/math]
[math]\displaystyle{ p \mid a_1 (x_1 - x_2) }[/math]

Ponieważ [math]\displaystyle{ p \nmid a_1 }[/math], to z lematu Euklidesa (C74) otrzymujemy natychmiast [math]\displaystyle{ p \mid (x_1 - x_2) }[/math]. Skąd wynika, że [math]\displaystyle{ x_1 \equiv x_2 \!\! \pmod{p} }[/math], wbrew założeniu, że [math]\displaystyle{ x_1 }[/math] i [math]\displaystyle{ x_2 }[/math] są dwoma różnymi rozwiązaniami. Co kończy dowód.


Twierdzenie J13 (Joseph Louis Lagrange, 1768)
Jeżeli wielomian [math]\displaystyle{ W_n (x) = \sum_{k = 0}^{n} a_k x^k }[/math] ma stopień [math]\displaystyle{ n }[/math] modulo [math]\displaystyle{ p }[/math], gdzie [math]\displaystyle{ n \geqslant 1 }[/math], to kongruencja

[math]\displaystyle{ W_n (x) \equiv 0 \pmod{p} }[/math]

ma co najwyżej [math]\displaystyle{ n }[/math] rozwiązań.

Dowód

Indukcja matematyczna. Z J12 wiemy, że dowodzone twierdzenie jest prawdziwe dla [math]\displaystyle{ n = 1 }[/math]. Załóżmy, że twierdzenie jest prawdziwe dla wszystkich liczb całkowitych dodatnich nie większych od [math]\displaystyle{ n - 1 }[/math]. Niech wielomian [math]\displaystyle{ W_n (x) }[/math] ma stopień [math]\displaystyle{ n }[/math] modulo [math]\displaystyle{ p }[/math]. Jeżeli kongruencja

[math]\displaystyle{ W_n (x) \equiv 0 \pmod{p} }[/math]

nie ma żadnego rozwiązania, to dowodzone twierdzenie jest prawdziwe dla [math]\displaystyle{ n }[/math]. Przypuśćmy teraz, że wypisana wyżej kongruencja ma przynajmniej jeden pierwiastek [math]\displaystyle{ x \equiv s \!\! \pmod{p} }[/math]. Korzystając z twierdzenia J7, możemy napisać

[math]\displaystyle{ W_n (x) - W_n (s) = (x - s) V_{n - 1} (x) }[/math]

gdzie wielomian [math]\displaystyle{ V_{n - 1} (x) }[/math] ma stopień [math]\displaystyle{ n - 1 }[/math] modulo [math]\displaystyle{ p }[/math], bo wielomiany [math]\displaystyle{ W_n (x) }[/math] oraz [math]\displaystyle{ V_{n - 1} (x) }[/math] mają jednakowe współczynniki wiodące.


Z założenia [math]\displaystyle{ x \equiv s \!\! \pmod{p} }[/math] jest jednym z pierwiastków kongruencji [math]\displaystyle{ W_n (x) \equiv 0 \!\! \pmod{p} }[/math], zatem modulo [math]\displaystyle{ p }[/math] otrzymujemy

[math]\displaystyle{ W_n (x) \equiv (x - s) V_{n - 1} (x) \pmod{p} }[/math]

Ponieważ [math]\displaystyle{ p }[/math] jest liczbą pierwszą, to z rozpatrywanej kongruencji

[math]\displaystyle{ W_n (x) \equiv 0 \pmod{p} }[/math]

wynika, że musi być (zobacz C74)

[math]\displaystyle{ x \equiv s \pmod{p} \qquad \qquad \text{lub} \qquad \qquad V_{n - 1} (x) \equiv 0 \pmod{p} }[/math]


Z założenia indukcyjnego kongruencja

[math]\displaystyle{ V_{n - 1} (x) \pmod{p} }[/math]

ma co najwyżej [math]\displaystyle{ n - 1 }[/math] rozwiązań, zatem kongruencja

[math]\displaystyle{ W_n (x) \equiv 0 \pmod{p} }[/math]

ma nie więcej niż [math]\displaystyle{ n }[/math] rozwiązań. Co należało pokazać.


Twierdzenie J14
Jeżeli kongruencja

[math]\displaystyle{ a_n x^n + a_{n - 1} x^{n - 1} + \ldots + a_1 x + a_0 \equiv 0 \pmod{p} }[/math]

ma więcej niż [math]\displaystyle{ n }[/math] rozwiązań, to wszystkie współczynniki [math]\displaystyle{ a_k }[/math], gdzie [math]\displaystyle{ k = 0, \ldots, n }[/math], muszą być podzielne przez [math]\displaystyle{ p }[/math].

Dowód

Niech [math]\displaystyle{ S \subset \{ 0, 1, \ldots, n \} }[/math] będzie zbiorem takim, że dla każdego [math]\displaystyle{ k \in S }[/math] jest [math]\displaystyle{ p \nmid a_k }[/math]. Przypuśćmy, że [math]\displaystyle{ S }[/math] jest zbiorem niepustym. Niech [math]\displaystyle{ j }[/math] oznacza największy element zbioru [math]\displaystyle{ S }[/math]. Jeżeli [math]\displaystyle{ j = 0 }[/math], to wielomian [math]\displaystyle{ W_n (x) = \sum_{k = 0}^{n} a_k x^k }[/math] jest stopnia [math]\displaystyle{ 0 }[/math] modulo [math]\displaystyle{ p }[/math] i

[math]\displaystyle{ a_0 \not\equiv 0 \pmod{p} }[/math]

Konsekwentnie, dla dowolnego [math]\displaystyle{ x \in \mathbb{Z} }[/math] jest

[math]\displaystyle{ a_n x^n + a_{n - 1} x^{n - 1} + \ldots + a_1 x + a_0 \not\equiv 0 \pmod{p} }[/math]

bo dla każdego [math]\displaystyle{ 1 \leqslant k \leqslant n }[/math] mamy [math]\displaystyle{ a_k \equiv 0 \!\! \pmod{p} }[/math]. Zatem rozpatrywana kongruencja nie ma ani jednego rozwiązania, czyli rozwiązań nie może być więcej niż [math]\displaystyle{ n }[/math].

W przypadku gdy [math]\displaystyle{ j \neq 0 }[/math], z twierdzenia Lagrange'a wynika, że rozpatrywana kongruencja ma nie więcej niż [math]\displaystyle{ j \leqslant n }[/math] rozwiązań, ponownie wbrew założeniu, że kongruencja ta ma więcej niż [math]\displaystyle{ n }[/math] rozwiązań. Uczynione przypuszczenie, że [math]\displaystyle{ S }[/math] jest zbiorem niepustym, okazało się fałszywe, zatem zbiór [math]\displaystyle{ S }[/math] musi być zbiorem pustym. Co należało pokazać.


Przykład J15
Z twierdzenia Lagrange'a wynika, że kongruencja

[math]\displaystyle{ x^p - x - 1 \equiv 0 \pmod{p} }[/math]

ma co najwyżej [math]\displaystyle{ p }[/math] rozwiązań. W rzeczywistości nie ma ani jednego rozwiązania, bo z twierdzenia Fermata wiemy, że dla dowolnej liczby pierwszej [math]\displaystyle{ p }[/math] jest

[math]\displaystyle{ x^p \equiv x \pmod{p} }[/math]


Przykład J16
Zauważmy, że w przypadku, gdy [math]\displaystyle{ n \geqslant p }[/math], możemy zawsze wielomian przekształcić do postaci takiej, że [math]\displaystyle{ n \lt p }[/math]. Niech [math]\displaystyle{ p = 5 }[/math] i

[math]\displaystyle{ W(x) = x^{15} + 11 x^{11} + 5 x^5 + 2 x^2 + x + 1 }[/math]

Ponieważ [math]\displaystyle{ x^5 \equiv x \!\! \pmod{5} }[/math], to

[math]\displaystyle{ W(x) \equiv x^3 + 11 x^3 + 5 x + 2 x^2 + x + 1 \equiv 12 x^3 + 2 x^2 + 6 x + 1 \pmod{5} }[/math]

Co wynika również z faktu, że [math]\displaystyle{ W(x) }[/math] można zapisać w postaci

[math]\displaystyle{ W(x) = x^{15} + 11 x^{11} + 5 x^5 + 2 x^2 + x + 1 = (x^5 - x) (x^{10} + 12 x^6 + 12 x^2 + 5) + 12 x^3 + 2 x^2 + 6 x + 1 }[/math]

ale [math]\displaystyle{ x^5 - x \equiv 0 \!\! \pmod{5} }[/math] na mocy twierdzenia Fermata.



Twierdzenie Wilsona

Twierdzenie J17 (John Wilson, 1770)
Liczba całkowita [math]\displaystyle{ p \geqslant 2 }[/math] jest liczbą pierwszą wtedy i tylko wtedy, gdy

[math]\displaystyle{ (p - 1) ! \equiv - 1 \pmod{p} }[/math]
Dowód

[math]\displaystyle{ \Large{\Longleftarrow} }[/math]

Przypuśćmy, że prawdziwa jest kongruencja [math]\displaystyle{ (p - 1) ! \equiv - 1 \!\! \pmod{p} }[/math] oraz [math]\displaystyle{ p }[/math] jest liczbą złożoną. Zatem liczba [math]\displaystyle{ p }[/math] ma dzielnik [math]\displaystyle{ d }[/math] taki, że [math]\displaystyle{ 2 \leqslant d \leqslant p - 1 }[/math]. Ponieważ [math]\displaystyle{ d \mid p }[/math], to prawdziwa jest kongruencja

[math]\displaystyle{ (p - 1) ! \equiv - 1 \pmod{d} }[/math]

czyli

[math]\displaystyle{ 0 \equiv - 1 \pmod{d} }[/math]

co jest niemożliwe.

[math]\displaystyle{ \Large{\Longrightarrow} }[/math]

Łatwo sprawdzamy, że twierdzenie jest prawdziwe dla [math]\displaystyle{ p = 2 }[/math]. Niech teraz [math]\displaystyle{ p }[/math] będzie liczbą pierwszą nieparzystą. Rozważmy wielomiany

[math]\displaystyle{ W(x) = (x - 1) (x - 2) \cdot \ldots \cdot (x - (p - 1)) }[/math]

oraz

[math]\displaystyle{ V(x) = x^{p - 1} - 1 }[/math]

Zauważmy, że

  • stopnie tych wielomianów są równe [math]\displaystyle{ p - 1 }[/math]
  • współczynniki wiodące są równe [math]\displaystyle{ 1 }[/math]
  • wyrazy wolne są równe odpowiednio [math]\displaystyle{ (p - 1) ! }[/math] oraz [math]\displaystyle{ - 1 }[/math]
  • wielomiany mają [math]\displaystyle{ p - 1 }[/math] rozwiązań modulo [math]\displaystyle{ p }[/math]

Niech

[math]\displaystyle{ U(x) = W (x) - V (x) }[/math]

Zauważmy, że

  • stopień wielomianu [math]\displaystyle{ U(x) }[/math] jest równy [math]\displaystyle{ p - 2 \geqslant 1 }[/math], ponieważ wyrazy o najwyższym stopniu uległy redukcji
  • wielomian [math]\displaystyle{ U(x) }[/math] ma [math]\displaystyle{ p - 1 }[/math] rozwiązań modulo [math]\displaystyle{ p }[/math], bo dla każdego [math]\displaystyle{ k \in \{ 1, 2, \ldots, p - 1 \} }[/math] mamy [math]\displaystyle{ U(k) = W (k) - V (k) \equiv 0 \!\! \pmod{p} }[/math]

Z twierdzenia Lagrange'a wiemy, że wielomian [math]\displaystyle{ U(x) }[/math] nie może mieć więcej niż [math]\displaystyle{ p - 2 }[/math] rozwiązań modulo [math]\displaystyle{ p }[/math]. Zatem z twierdzenia J14 wynika natychmiast, że liczba pierwsza [math]\displaystyle{ p }[/math] musi dzielić każdy współczynnik [math]\displaystyle{ a_k }[/math] wielomianu [math]\displaystyle{ U(x) }[/math] i w szczególności musi dzielić wyraz wolny, który jest równy [math]\displaystyle{ (p - 1) ! + 1 }[/math]. Co należało pokazać.


Twierdzenie J18
Liczba całkowita nieparzysta [math]\displaystyle{ p \geqslant 3 }[/math] jest liczbą pierwszą wtedy i tylko wtedy, gdy

[math]\displaystyle{ \left[ \left( {\small\frac{p - 1}{2}} \right) ! \right]^2 \equiv (- 1)^{\tfrac{p + 1}{2}} \!\! \pmod{p} }[/math]
Dowód

Z twierdzenia Wilsona wiemy, że liczba całkowita [math]\displaystyle{ p \geqslant 2 }[/math] jest liczbą pierwszą wtedy i tylko wtedy, gdy

[math]\displaystyle{ (p - 1) ! \equiv - 1 \pmod{p} }[/math]

W przypadku, gdy liczba [math]\displaystyle{ p }[/math] jest liczbą nieparzystą możemy powyższy wzór łatwo przekształcić. Ponieważ czynniki w [math]\displaystyle{ (p - 1) ! }[/math] są określone modulo [math]\displaystyle{ p }[/math], to odejmując od każdego czynnika większego od [math]\displaystyle{ {\small\frac{p - 1}{2}} }[/math] liczbę [math]\displaystyle{ p }[/math], otrzymujemy

[math]\displaystyle{ 1 \cdot 2 \cdot \ldots \cdot {\small\frac{p - 3}{2}} \cdot {\small\frac{p - 1}{2}} \cdot \left( {\small\frac{p + 1}{2}} - p \right) \left( {\small\frac{p + 3}{2}} - p \right) \cdot \ldots \cdot (- 2) \cdot (- 1) \equiv - 1 \!\! \pmod{p} }[/math]
[math]\displaystyle{ (- 1)^{\tfrac{p - 1}{2}} \cdot \left[ \left( {\small\frac{p - 1}{2}} \right) ! \right]^2 \equiv - 1 \!\! \pmod{p} }[/math]
[math]\displaystyle{ \left[ \left( {\small\frac{p - 1}{2}} \right) ! \right]^2 \equiv (- 1)^{\tfrac{p + 1}{2}} \!\! \pmod{p} }[/math]

Co należało pokazać.



Twierdzenie Fermata

Twierdzenie J19 (Pierre de Fermat, 1640)
Niech [math]\displaystyle{ a \in \mathbb{Z} }[/math]. Jeżeli [math]\displaystyle{ p }[/math] jest liczbą pierwszą

  • to liczba [math]\displaystyle{ a^p - a }[/math] jest podzielna przez [math]\displaystyle{ p }[/math], czyli [math]\displaystyle{ a^p \equiv a \!\! \pmod p }[/math]
  • i jeśli dodatkowo [math]\displaystyle{ p \nmid a }[/math], to liczba [math]\displaystyle{ a^{p - 1} - 1 }[/math] jest podzielna przez [math]\displaystyle{ p }[/math], czyli [math]\displaystyle{ a^{p - 1} \equiv 1 \!\! \pmod p }[/math]
Dowód

Punkt 1.

Zauważmy, że
a) twierdzenie jest prawdziwe dla [math]\displaystyle{ a = 0 }[/math]
b) w przypadku, gdy [math]\displaystyle{ p = 2 }[/math] wyrażenie [math]\displaystyle{ a^p - a = a^2 - a = a (a - 1) }[/math] jest podzielne przez [math]\displaystyle{ 2 }[/math], bo jedna z liczb [math]\displaystyle{ a - 1 }[/math] i [math]\displaystyle{ a }[/math] jest liczbą parzystą
c) w przypadku, gdy [math]\displaystyle{ p }[/math] jest liczbą pierwszą nieparzystą i twierdzenie jest prawdziwe dla [math]\displaystyle{ a \geqslant 1 }[/math], to jest też prawdziwe dla [math]\displaystyle{ - a }[/math], bo

[math]\displaystyle{ (- a)^p - (- a) = (- 1)^p a^p + a = - a^p + a = - (a^p - a) }[/math]


Zatem wystarczy pokazać, że dla ustalonej liczby pierwszej nieparzystej [math]\displaystyle{ p }[/math] twierdzenie jest prawdziwe dla każdego [math]\displaystyle{ a \in \mathbb{Z}_+ }[/math].

Indukcja matematyczna. Dla [math]\displaystyle{ a = 1 }[/math] mamy [math]\displaystyle{ 1^p - 1 = 0 }[/math] zatem liczba pierwsza [math]\displaystyle{ p }[/math] jest dzielnikiem rozważanego wyrażenia. Zakładając, że twierdzenie jest prawdziwe dla [math]\displaystyle{ a }[/math], czyli [math]\displaystyle{ p \mid a^p - a }[/math], otrzymujmy dla [math]\displaystyle{ a + 1 }[/math]

[math]\displaystyle{ (a + 1)^p - (a + 1) = \sum_{k = 0}^{p} \binom{p}{k} \cdot a^k - a - 1 }[/math]
[math]\displaystyle{ \;\;\,\, = 1 + \sum_{k = 1}^{p - 1} \binom{p}{k} \cdot a^k + a^p - a - 1 }[/math]
[math]\displaystyle{ \;\;\,\, = a^p - a + \sum^{p - 1}_{k = 1} \binom{p}{k} \cdot a^k }[/math]


Z założenia indukcyjnego [math]\displaystyle{ p \mid a^p - a }[/math], zaś [math]\displaystyle{ \binom{p}{k} = {\small\frac{p!}{k! \cdot (p - k) !}} }[/math] dla [math]\displaystyle{ k = 1, 2, \ldots, p - 1 }[/math] jest podzielne przez [math]\displaystyle{ p }[/math] (ponieważ [math]\displaystyle{ p }[/math] dzieli licznik, ale nie dzieli mianownika). Zatem [math]\displaystyle{ (a + 1)^p - (a + 1) }[/math] jest podzielne przez liczbę pierwszą [math]\displaystyle{ p }[/math].

Punkt 2.

Z punktu 1. wiemy, że liczba pierwsza [math]\displaystyle{ p }[/math] dzieli [math]\displaystyle{ a^p - a = a (a^{p - 1} - 1) }[/math]. Jeżeli [math]\displaystyle{ p \nmid a }[/math], to z lematu Euklidesa (zobacz twierdzenie C74) wynika natychmiast, że [math]\displaystyle{ p }[/math] dzieli [math]\displaystyle{ a^{p - 1} - 1 }[/math].


Twierdzenie J20
Niech [math]\displaystyle{ x, y \in \mathbb{Z} }[/math]. Jeżeli [math]\displaystyle{ \gcd (x, y) = 1 }[/math] i liczba pierwsza nieparzysta [math]\displaystyle{ p }[/math] dzieli [math]\displaystyle{ x^2 + y^2 }[/math], to [math]\displaystyle{ p }[/math] jest postaci [math]\displaystyle{ 4 k + 1 }[/math].

Dowód

Z założenia

[math]\displaystyle{ x^2 \equiv - y^2 \!\! \pmod{p} }[/math]

Przypuśćmy, że [math]\displaystyle{ p \mid y }[/math]. Wtedy z powyższej kongruencji mamy natychmiast, że [math]\displaystyle{ p \mid x }[/math], wbrew założeniu, że [math]\displaystyle{ \gcd (x, y) = 1 }[/math]. Zatem [math]\displaystyle{ p \nmid y }[/math] i z twierdzenia Fermata dostajemy

[math]\displaystyle{ 1 \equiv x^{p - 1} \equiv (x^2)^{\tfrac{p - 1}{2}} \equiv (- y^2)^{\tfrac{p - 1}{2}} \equiv y^{p - 1} \cdot (- 1)^{\tfrac{p - 1}{2}} \equiv (- 1)^{\tfrac{p - 1}{2}} \!\! \pmod{p} }[/math]

Wynika stąd, że [math]\displaystyle{ {\small\frac{p - 1}{2}} }[/math] musi być liczbą parzystą, czyli [math]\displaystyle{ p = 4 k + 1 }[/math]. Co należało pokazać.


Zadanie J21
Niech [math]\displaystyle{ x, y, n \geqslant 0 }[/math]. Pokazać, że jedynymi rozwiązaniami równania

[math]\displaystyle{ x^2 + y^2 = 2^n }[/math]

są liczby

  • [math]\displaystyle{ x = 2^{n / 2} \, }[/math] i [math]\displaystyle{ \, y = 0 \, }[/math] lub [math]\displaystyle{ \, x = 0 \, }[/math] i [math]\displaystyle{ \, y = 2^{n / 2} }[/math], gdy [math]\displaystyle{ 2 \mid n }[/math]
  • [math]\displaystyle{ x = y = 2^{(n - 1) / 2} }[/math], gdy [math]\displaystyle{ 2 \nmid n }[/math]
Rozwiązanie

A. Gdy jedna z liczb [math]\displaystyle{ x, y }[/math] jest równa [math]\displaystyle{ 0 }[/math] (powiedzmy [math]\displaystyle{ y }[/math]), to mamy [math]\displaystyle{ x = 2^{n / 2} }[/math], gdy [math]\displaystyle{ n }[/math] jest parzyste. Gdy [math]\displaystyle{ n }[/math] jest nieparzyste, to rozwiązanie nie istnieje. Od tej pory będziemy zakładali, że [math]\displaystyle{ x, y \geqslant 1 }[/math]

B. Wiemy, że kwadrat liczby nieparzystej przystaje do [math]\displaystyle{ 1 }[/math] modulo [math]\displaystyle{ 4 }[/math]. Gdy obie liczby [math]\displaystyle{ x, y }[/math] są nieparzyste, to modulo [math]\displaystyle{ 4 }[/math] mamy

[math]\displaystyle{ 2 \equiv 2^n \!\! \pmod{4} }[/math]

Kongruencja ta jest prawdziwa tylko dla [math]\displaystyle{ n = 1 }[/math] i w tym przypadku mamy [math]\displaystyle{ (x, y) = (1, 1) }[/math].

C. W przypadku, gdy obie liczby są parzyste, możemy napisać [math]\displaystyle{ x = 2^a u }[/math], [math]\displaystyle{ y = 2^b w }[/math], gdzie liczby [math]\displaystyle{ u, w }[/math] są nieparzyste. Nie zmniejszając ogólności możemy założyć, że [math]\displaystyle{ 1 \leqslant a \leqslant b \lt {\small\frac{n}{2}} }[/math]. Dostajemy

[math]\displaystyle{ u^2 + 2^{2 b - 2 a} w^2 = 2^{n - 2 a} }[/math]

Widzimy, że nie może być [math]\displaystyle{ a \lt b }[/math], bo suma liczby nieparzystej i parzystej nie jest liczbą parzystą. Zatem [math]\displaystyle{ a = b }[/math] i otrzymujemy równanie

[math]\displaystyle{ u^2 + w^2 = 2^{n - 2 a} }[/math]

które ma rozwiązanie w liczbach nieparzystych tylko dla wykładnika [math]\displaystyle{ n - 2 a = 1 }[/math]. Mamy [math]\displaystyle{ u = w = 1 }[/math], zatem [math]\displaystyle{ x = y = 2^{(n - 1) / 2} }[/math] i [math]\displaystyle{ n }[/math] musi być liczbą nieparzystą.


Twierdzenie J22
Niech [math]\displaystyle{ x, y \in \mathbb{Z}_+ }[/math]. Jeżeli [math]\displaystyle{ x \neq y }[/math], to liczba [math]\displaystyle{ x^2 + y^2 }[/math] ma dzielnik pierwszy postaci [math]\displaystyle{ 4 k + 1 }[/math].

Dowód

W przypadku, gdy [math]\displaystyle{ x = y }[/math] mamy [math]\displaystyle{ x^2 + y^2 = 2 y^2 }[/math] i jeśli liczba [math]\displaystyle{ y }[/math] nie ma dzielnika pierwszego postaci [math]\displaystyle{ 4 k + 1 }[/math], to nie ma go również liczba [math]\displaystyle{ 2 y^2 }[/math]. Przykładowo [math]\displaystyle{ x^2 + y^2 = 2 y^2 = 2^{2 r + 1}, 2 \cdot 3^{2 r}, 2 \cdot 7^{2 r} }[/math]. Dlatego zakładamy, że [math]\displaystyle{ x \neq y }[/math]. Analogiczna sytuacja ma miejsce, gdy jedna z liczb [math]\displaystyle{ x, y }[/math] jest równa zero. Dlatego zakładamy, że [math]\displaystyle{ x, y \in \mathbb{Z}_+ }[/math].

Niech [math]\displaystyle{ \gcd (x, y) = d }[/math], zatem mamy [math]\displaystyle{ x = a d }[/math], [math]\displaystyle{ y = b d }[/math]. Wynika stąd, że [math]\displaystyle{ x^2 + y^2 = d^2 (a^2 + b^2) }[/math], gdzie [math]\displaystyle{ \gcd (a, b) = 1 \, }[/math] i [math]\displaystyle{ \, a \neq b }[/math]. Ponieważ [math]\displaystyle{ \, a \neq b }[/math], to liczba [math]\displaystyle{ a^2 + b^2 }[/math] musi mieć dzielnik pierwszy nieparzysty (zobacz J21). Z twierdzenia J20 zastosowanego do liczby [math]\displaystyle{ a^2 + b^2 }[/math] wynika, że [math]\displaystyle{ a^2 + b^2 }[/math] musi mieć dzielnik pierwszy postaci [math]\displaystyle{ 4 k + 1 }[/math].



Kryterium Eulera

Definicja J23
Niech [math]\displaystyle{ p }[/math] będzie liczbą pierwszą i [math]\displaystyle{ a \in \mathbb{Z} }[/math]. Powiemy, że liczba [math]\displaystyle{ a }[/math] jest liczbą kwadratową modulo [math]\displaystyle{ p }[/math], jeżeli kongruencja

[math]\displaystyle{ x^2 \equiv a \pmod{p} }[/math]

ma rozwiązanie, czyli istnieje taka liczba [math]\displaystyle{ k \in \mathbb{Z} }[/math], że [math]\displaystyle{ p \mid (k^2 - a) }[/math].

Powiemy, że liczba [math]\displaystyle{ a }[/math] jest liczbą niekwadratową modulo [math]\displaystyle{ p }[/math], jeżeli kongruencja

[math]\displaystyle{ x^2 \equiv a \pmod{p} }[/math]

nie ma rozwiązania.


Twierdzenie J24
Jeżeli [math]\displaystyle{ p }[/math] jest liczbą pierwszą nieparzystą, to wśród liczb [math]\displaystyle{ 1, 2, \ldots, p - 1 }[/math] istnieje dokładnie [math]\displaystyle{ {\small\frac{p - 1}{2}} }[/math] liczb kwadratowych modulo [math]\displaystyle{ p }[/math] i tyle samo liczb niekwadratowych modulo [math]\displaystyle{ p }[/math].

Dowód

Zauważmy, że w rozważanym zbiorze liczb [math]\displaystyle{ \{ 1, 2, \ldots, p - 1 \} }[/math], kwadraty liczb [math]\displaystyle{ k }[/math] i [math]\displaystyle{ p - k }[/math] są takimi samymi liczbami modulo [math]\displaystyle{ p }[/math], co wynika z oczywistej kongruencji

[math]\displaystyle{ k^2 \equiv (p - k)^2 \pmod{p} }[/math]

Pozwala to wypisać pary liczb, których kwadraty są identyczne modulo [math]\displaystyle{ p }[/math]

[math]\displaystyle{ (1, p - 1), (2, p - 2), \ldots, \left( {\small\frac{p - 1}{2}}, p - {\small\frac{p - 1}{2}} \right) }[/math]

Ponieważ

[math]\displaystyle{ p - {\small\frac{p - 1}{2}} = {\small\frac{p + 1}{2}} = {\small\frac{p - 1}{2}} + 1 }[/math]

to wypisane pary wyczerpują cały zbiór [math]\displaystyle{ \{ 1, 2, \ldots, p - 1 \} }[/math]. Co więcej, liczby [math]\displaystyle{ 1^2, 2^2, \ldots, \left( {\small\frac{p - 1}{2}} \right)^2 }[/math] są wszystkie różne modulo [math]\displaystyle{ p }[/math]. Istotnie, przypuśćmy, że [math]\displaystyle{ 1 \leqslant i, j \leqslant {\small\frac{p - 1}{2}} }[/math] oraz [math]\displaystyle{ i \neq j }[/math], a jednocześnie [math]\displaystyle{ i^2 \equiv j^2 \!\! \pmod{p} }[/math]. Gdyby tak było, to mielibyśmy

[math]\displaystyle{ (i - j) (i + j) \equiv 0 \pmod{p} }[/math]

Łatwo zauważamy, że jest to niemożliwe, bo żaden z czynników nie jest podzielny przez [math]\displaystyle{ p }[/math], co wynika z prostych oszacowań

[math]\displaystyle{ 1 \leqslant | i - j | \leqslant i + j \lt p - 1 }[/math]
[math]\displaystyle{ 2 \lt i + j \lt p - 1 }[/math]


Ponieważ (z definicji) liczba [math]\displaystyle{ a }[/math] jest liczbą kwadratową modulo [math]\displaystyle{ p }[/math], jeżeli kongruencja

[math]\displaystyle{ x^2 \equiv a \pmod{p} }[/math]

ma rozwiązanie, to liczba kwadratowa modulo [math]\displaystyle{ p }[/math] musi przystawać do pewnego kwadratu modulo [math]\displaystyle{ p }[/math].

Wynika stąd, że różnych liczb kwadratowych modulo [math]\displaystyle{ p }[/math] jest tyle samo, co kwadratów [math]\displaystyle{ 1^2, 2^2, \ldots, \left( {\small\frac{p - 1}{2}} \right)^2 }[/math]. Czyli jest ich dokładnie [math]\displaystyle{ {\small\frac{p - 1}{2}} }[/math]. Pozostałe liczby w zbiorze [math]\displaystyle{ \{ 1, 2, \ldots, p - 1 \} }[/math] to liczby niekwadratowe modulo [math]\displaystyle{ p }[/math] i jest ich również [math]\displaystyle{ {\small\frac{p - 1}{2}} }[/math]. Co należało pokazać.


Twierdzenie J25 (kryterium Eulera, 1748)
Niech [math]\displaystyle{ p }[/math] będzie liczbą pierwszą nieparzystą i [math]\displaystyle{ p \nmid a }[/math]. Modulo [math]\displaystyle{ p }[/math] mamy

●    liczba [math]\displaystyle{ a }[/math] jest liczbą kwadratową modulo [math]\displaystyle{ p }[/math] wtedy i tylko wtedy, gdy [math]\displaystyle{ a^{(p - 1) / 2} \equiv 1 \pmod{p} }[/math]
●    liczba [math]\displaystyle{ a }[/math] jest liczbą niekwadratową modulo [math]\displaystyle{ p }[/math] wtedy i tylko wtedy, gdy [math]\displaystyle{ a^{(p - 1) / 2} \equiv - 1 \pmod{p} }[/math]
Dowód

Punkt 1.

Niech [math]\displaystyle{ Q \subset \{ 1, 2, \ldots, p - 1 \} }[/math] będzie zbiorem wszystkich liczb kwadratowych modulo [math]\displaystyle{ p }[/math], a [math]\displaystyle{ S \subset \{ 1, 2, \ldots, p - 1 \} }[/math] będzie zbiorem wszystkich rozwiązań kongruencji

[math]\displaystyle{ x^{(p - 1) / 2} \equiv 1 \pmod{p} }[/math]

Zauważmy, że

   A       [math]\displaystyle{ | Q | = {\small\frac{p - 1}{2}} }[/math]    zobacz J24
   B       [math]\displaystyle{ | S | \leqslant {\small\frac{p - 1}{2}} }[/math]    zobacz twierdzenie Lagrange'a J13
   C       jeżeli [math]\displaystyle{ a \in Q }[/math], to [math]\displaystyle{ a \in S \qquad }[/math]    wynika z ciągu implikacji:
         [math]\displaystyle{ a \in Q \qquad \Longrightarrow \qquad a \equiv k^2 \pmod{p} }[/math]
         [math]\displaystyle{ a \equiv k^2 \pmod{p} \qquad \Longrightarrow \qquad a^{(p - 1) / 2} \equiv (k^2)^{(p - 1) / 2} \equiv k^{p - 1} \equiv 1 \pmod{p} }[/math]   
         [math]\displaystyle{ a^{(p - 1) / 2} \equiv 1 \pmod{p} \qquad \Longrightarrow \qquad a \in S }[/math]
   D       [math]\displaystyle{ Q \subseteq S }[/math]    z punktu C wynika, że każdy element zbioru [math]\displaystyle{ Q }[/math] należy do zbioru [math]\displaystyle{ S }[/math]


Łącząc rezultaty z tabeli, otrzymujemy

[math]\displaystyle{ {\small\frac{p - 1}{2}} = | Q | \leqslant | S | \leqslant {\small\frac{p - 1}{2}} }[/math]

Skąd łatwo widzimy, że

[math]\displaystyle{ | Q | = | S | = {\small\frac{p - 1}{2}} }[/math]

Ponieważ [math]\displaystyle{ Q \subseteq S }[/math], a zbiory [math]\displaystyle{ Q }[/math] i [math]\displaystyle{ S }[/math] są równoliczne, to zbiory te są równe (zobacz J26). Prostą konsekwencją równości zbiorów [math]\displaystyle{ Q }[/math] i [math]\displaystyle{ S }[/math] jest stwierdzenie

   liczba [math]\displaystyle{ a }[/math] jest liczbą kwadratową modulo [math]\displaystyle{ p }[/math] wtedy i tylko wtedy, gdy [math]\displaystyle{ a^{(p - 1) / 2} \equiv 1 \pmod{p} }[/math]   

Co kończy dowód punktu pierwszego.

Punkt 2.

Z udowodnionego już punktu pierwszego wynika[3], że

   liczba [math]\displaystyle{ a }[/math] jest liczbą niekwadratową modulo [math]\displaystyle{ p }[/math] wtedy i tylko wtedy, gdy [math]\displaystyle{ a^{(p - 1) / 2} \not\equiv 1 \pmod{p} }[/math]   

Z twierdzenia Fermata

[math]\displaystyle{ a^{p - 1} - 1 = (a^{(p - 1) / 2} - 1) \cdot (a^{(p - 1) / 2} + 1) \equiv 0 \pmod{p} }[/math]

wynika natychmiast, że jeżeli [math]\displaystyle{ a^{(p - 1) / 2} - 1 \not\equiv 0 \pmod{p} }[/math], to musi być

[math]\displaystyle{ a^{(p - 1) / 2} + 1 \equiv 0 \pmod{p} }[/math]

Fakt ten pozwala sformułować uzyskaną równoważność bardziej precyzyjnie

   liczba [math]\displaystyle{ a }[/math] jest liczbą niekwadratową modulo [math]\displaystyle{ p }[/math] wtedy i tylko wtedy, gdy [math]\displaystyle{ a^{(p - 1) / 2} \equiv - 1 \pmod{p} }[/math]   

Co należało pokazać.


Zadanie J26
Niech [math]\displaystyle{ A }[/math] i [math]\displaystyle{ B }[/math] będą zbiorami skończonymi. Pokazać, że jeżeli [math]\displaystyle{ A \subseteq B \;\; \text{i} \;\; | A | = | B | }[/math], to [math]\displaystyle{ \; A = B }[/math].

Rozwiązanie

Ponieważ zbiór [math]\displaystyle{ A }[/math] jest podzbiorem zbioru [math]\displaystyle{ B }[/math], to zbiór [math]\displaystyle{ B }[/math] można przedstawić w postaci sumy zbiorów [math]\displaystyle{ A }[/math] i [math]\displaystyle{ C }[/math] takich, że żaden element zbioru [math]\displaystyle{ C }[/math] nie jest elementem zbioru [math]\displaystyle{ A }[/math]. Zatem

[math]\displaystyle{ B = A \cup C \qquad \text{i} \qquad A \cap C = \varnothing }[/math]

Ponieważ z założenia zbiory [math]\displaystyle{ A }[/math] i [math]\displaystyle{ C }[/math] są rozłączne, to wiemy, że

[math]\displaystyle{ | A \cup C | = | A | + | C | }[/math]

Czyli

[math]\displaystyle{ | B | = | A \cup C | = | A | + | C | }[/math]

Skąd wynika, że [math]\displaystyle{ | C | = 0 }[/math], zatem zbiór [math]\displaystyle{ C }[/math] jest zbiorem pustym i otrzymujemy natychmiast [math]\displaystyle{ B = A }[/math]. Co należało pokazać.


Uwaga (przypadek zbiorów skończonych)
Najczęściej prawdziwe jest jedynie oszacowanie [math]\displaystyle{ | A \cup C | \leqslant | A | + | C | }[/math], bo niektóre elementy mogą zostać policzone dwa razy. Elementy liczone dwukrotnie to te, które należą do iloczynu zbiorów [math]\displaystyle{ | A | }[/math] i [math]\displaystyle{ | C | }[/math], zatem od sumy [math]\displaystyle{ | A | + | C | }[/math] musimy odjąć liczbę elementów iloczynu zbiorów [math]\displaystyle{ | A | }[/math] i [math]\displaystyle{ | C | }[/math]. Co daje ogólny wzór[4]

[math]\displaystyle{ | A \cup C | = | A | + | C | - | A \cap C | }[/math]



Symbol Legendre'a

Definicja J27
Niech [math]\displaystyle{ p }[/math] będzie liczbą pierwszą nieparzystą i [math]\displaystyle{ a \in \mathbb{Z} }[/math]. Symbolem Legendre'a[5] nazywamy funkcję [math]\displaystyle{ a }[/math] i [math]\displaystyle{ p }[/math] zdefiniowaną następująco

[math]\displaystyle{ \left( {\small\frac{a}{p}} \right)_{\small{\!\! L}} = \begin{cases} \;\;\: 1 & \text{gdy } \, a \, \text{ jest liczbą kwadratową modulo } \, p \, \text{ oraz } \, p \nmid a \\ - 1 & \text{gdy } \, a \, \text{ jest liczbą niekwadratową modulo } \, p \\ \;\;\: 0 & \text{gdy } \, p \mid a \end{cases} }[/math]


Uwaga J28
Powyższa definicja pozwala nam zapisać kryterium Eulera w zwartej formie, która obejmuje również przypadek, gdy [math]\displaystyle{ p \mid a }[/math]

[math]\displaystyle{ a^{(p - 1) / 2} \equiv \left( {\small\frac{a}{p}} \right)_{\small{\!\! L}} \pmod{p} }[/math]


Twierdzenie J29*
Niech [math]\displaystyle{ a, b \in \mathbb{Z} }[/math] oraz [math]\displaystyle{ p, q }[/math] będą nieparzystymi liczbami pierwszymi. Symbol Legendre'a ma następujące właściwości



Symbol Jacobiego

Definicja J30
Niech liczby [math]\displaystyle{ a \in \mathbb{Z} }[/math] i [math]\displaystyle{ m \in \mathbb{Z}_+ }[/math] będą względnie pierwsze. Powiemy, że liczba [math]\displaystyle{ a }[/math] jest liczbą kwadratową modulo [math]\displaystyle{ m }[/math], jeżeli kongruencja

[math]\displaystyle{ x^2 \equiv a \pmod{m} }[/math]

ma rozwiązanie, czyli istnieje taka liczba [math]\displaystyle{ k \in \mathbb{Z} }[/math], że [math]\displaystyle{ m \mid (k^2 - a) }[/math].

Powiemy, że liczba [math]\displaystyle{ a }[/math] jest liczbą niekwadratową modulo [math]\displaystyle{ m }[/math], jeżeli kongruencja

[math]\displaystyle{ x^2 \equiv a \pmod{m} }[/math]

nie ma rozwiązania.


Uwaga J31
Prosta funkcja pozwala łatwo sprawdzić, czy liczba [math]\displaystyle{ a }[/math] jest liczbą kwadratową modulo [math]\displaystyle{ m }[/math].

isQR(a, m) = 
\\ funkcja zwraca 1, gdy a jest liczbą kwadratową modulo m,
\\ -1, gdy a jest liczbą niekwadratową i 0, gdy gcd(a, m) > 1
{
local(w);
if( gcd(a, m) > 1, return(0) ); \\ liczba nie jest ani QR, ani QNR
w = -1;
for(k = 1, floor(m/2), if( (k^2 - a)%m == 0, w = 1; break() ));
return(w);
}


Uwaga J32
Ponieważ często można spotkać definicję liczb kwadratowych i niekwadratowych modulo [math]\displaystyle{ m }[/math], w której warunek [math]\displaystyle{ \gcd (a, m) = 1 }[/math] zostaje pominięty, to Czytelnik powinien zawsze upewnić się, jaka definicja jest stosowana. Najczęściej w takim przypadku liczba [math]\displaystyle{ 0 }[/math] nie jest uznawana za liczbę kwadratową modulo [math]\displaystyle{ m }[/math].

Przykładowo:

[math]\displaystyle{ \left\{ 0^2, 1^2, 2^2, 3^2, 4^2, 5^2, 6^2, 7^2, 8^2, 9^2 \right\} \equiv \left\{ 0, 1, 4, 9, 6, 5, 6, 9, 4, 1 \right\} \pmod{10} }[/math]

Liczby kwadratowe modulo [math]\displaystyle{ 10 }[/math] to [math]\displaystyle{ \left\{ 1, 9 \right\} }[/math], a niekwadratowe to [math]\displaystyle{ \left\{ 3, 7 \right\} }[/math]. Liczby [math]\displaystyle{ \left\{ 0, 2, 4, 5, 6, 8 \right\} }[/math] nie są ani liczbami kwadratowymi, ani liczbami niekwadratowymi modulo [math]\displaystyle{ 10 }[/math].

Jeśli odrzucimy warunek [math]\displaystyle{ \gcd (a, m) = 1 }[/math], to liczbami kwadratowymi modulo [math]\displaystyle{ 10 }[/math] będą [math]\displaystyle{ \left\{ 0, 1, 4, 5, 6, 9 \right\} }[/math], a niekwadratowymi [math]\displaystyle{ \left\{ 2, 3, 7, 8 \right\} }[/math].

Inny przykład. Niech [math]\displaystyle{ m = 210 = 2 \cdot 3 \cdot 5 \cdot 7 }[/math]. W zależności od przyjętej definicji najmniejszą liczbą niekwadratową modulo [math]\displaystyle{ m }[/math] będzie albo [math]\displaystyle{ 11 }[/math], albo [math]\displaystyle{ 2 }[/math].


Zadanie J33
Niech liczby [math]\displaystyle{ m, n \in \mathbb{Z}_+ }[/math] i [math]\displaystyle{ \gcd (m, n) = 1 }[/math]. Pokazać, że liczba [math]\displaystyle{ a \in \mathbb{Z} }[/math] jest liczbą kwadratową modulo [math]\displaystyle{ m n }[/math] wtedy i tylko wtedy, gdy jest liczbą kwadratową modulo [math]\displaystyle{ m }[/math] i modulo [math]\displaystyle{ n }[/math].

Rozwiązanie

Niech [math]\displaystyle{ W(x) = x^2 - a }[/math]. Zauważmy, że liczba [math]\displaystyle{ a }[/math] jest liczbą kwadratową modulo [math]\displaystyle{ m }[/math] wtedy i tylko wtedy, gdy kongruencja [math]\displaystyle{ W(x) \equiv 0 \!\! \pmod{m} }[/math] ma rozwiązanie. Dalsza analiza problemu przebiega dokładnie tak, jak to zostało przedstawione w uwadze J11.


Definicja J34
Symbol Jacobiego[6] [math]\displaystyle{ \left( {\small\frac{a}{n}} \right)_{\small{\!\! J}} }[/math] jest uogólnieniem symbolu Legendre'a [math]\displaystyle{ \left( {\small\frac{a}{p}} \right)_{\small{\!\! L}} }[/math] dla dodatnich liczb nieparzystych. Niech [math]\displaystyle{ n = \prod_i p_i^{\alpha_i} }[/math] będzie rozkładem liczby [math]\displaystyle{ n }[/math] na czynniki pierwsze, wtedy

[math]\displaystyle{ \left( {\small\frac{a}{n}} \right)_{\small{\!\! J}} = \prod_i \left( {\small\frac{a}{p_i}} \right)_{\small{\!\! L}}^{\!\! \alpha_i} }[/math]


Uwaga J35
Zauważmy, że w przypadku gdy [math]\displaystyle{ n = 1 }[/math], po prawej stronie mamy „pusty” iloczyn (bez jakiegokolwiek czynnika). Podobnie jak „pustej” sumie przypisujemy wartość zero, tak „pustemu” iloczynowi przypisujemy wartość jeden. Zatem dla dowolnego [math]\displaystyle{ a \in \mathbb{Z} }[/math] jest [math]\displaystyle{ \left( {\small\frac{a}{1}} \right)_{\small{\!\! J}} = 1 }[/math].


Twierdzenie J36*
Niech [math]\displaystyle{ a, b \in \mathbb{Z} }[/math] oraz [math]\displaystyle{ m, n \in \mathbb{Z}_+ }[/math] i [math]\displaystyle{ m, n }[/math] będą liczbami nieparzystymi. Symbol Jacobiego ma następujące właściwości


Uwaga J37
Zauważmy, że poza zmienionym założeniem tabela z powyższego twierdzenia i tabela z twierdzenia J29 różnią się jedynie punktem czwartym. Oczywiście jest to tylko podobieństwo formalne – symbol Legendre'a i symbol Jacobiego są różnymi funkcjami.


Uwaga J38
Zauważmy, że w przypadku, gdy [math]\displaystyle{ m }[/math] jest liczbą nieparzystą

  • jeżeli [math]\displaystyle{ \left( {\small\frac{a}{m}} \right)_{\small{\!\! J}} = - 1 }[/math], to [math]\displaystyle{ a }[/math] jest liczbą niekwadratową modulo [math]\displaystyle{ m }[/math]
  • jeżeli [math]\displaystyle{ a }[/math] jest liczbą niekwadratową modulo [math]\displaystyle{ m }[/math], to nie musi być [math]\displaystyle{ \left( {\small\frac{a}{m}} \right)_{\small{\!\! J}} = - 1 }[/math]
  • jeżeli [math]\displaystyle{ \left( {\small\frac{a}{m}} \right)_{\small{\!\! J}} = + 1 }[/math], to [math]\displaystyle{ a }[/math] nie musi być liczbą kwadratową modulo [math]\displaystyle{ m }[/math]
  • jeżeli [math]\displaystyle{ a }[/math] jest liczbą kwadratową modulo [math]\displaystyle{ m }[/math], to jest [math]\displaystyle{ \left( {\small\frac{a}{m}} \right)_{\small{\!\! J}} = + 1 }[/math]

Przykład: jeżeli [math]\displaystyle{ \gcd (a, m) = 1 }[/math], to [math]\displaystyle{ \left( {\small\frac{a}{m^2}} \right)_{\small{\!\! J}} = \left( {\small\frac{a}{m}} \right)_{\small{\!\! J}}^2 = + 1 }[/math], ale [math]\displaystyle{ a }[/math] może być liczbą niekwadratową modulo [math]\displaystyle{ m^2 }[/math].

Modulo [math]\displaystyle{ 9 }[/math] liczbami niekwadratowymi są: [math]\displaystyle{ 2, 5, 8 }[/math]. Modulo [math]\displaystyle{ 25 }[/math] liczbami niekwadratowymi są: [math]\displaystyle{ 2, 3, 7, 8, 12, 13, 17, 18, 22, 23 }[/math].


Uwaga J39
Wszystkie liczby kwadratowe i niekwadratowe modulo [math]\displaystyle{ m }[/math] można łatwo znaleźć, wykorzystując prosty program:

Pokaż kod
QRandQNR(m) = 
{
local(k, S, V);
S = [];
V = [];
for(k = 1,  m - 1, if( gcd(k, m) > 1, next() ); S = concat(S, k));
S = Set(S); \\ zbiór liczb względnie pierwszych z m
for(k = 1,  m - 1, if( gcd(k, m) > 1, next() ); V = concat(V, k^2 % m));
V = Set(V); \\ zbiór liczb kwadratowych modulo m
print("QR: ", V);
print("QNR: ", setminus(S, V)); \\ różnica zbiorów S i V
}



Zadanie J40
Pokazać, że

[math]\displaystyle{ \left( {\small\frac{- 3}{m}} \right)_{\small{\!\! J}} = \left( {\small\frac{- 12}{m}} \right)_{\small{\!\! J}} = \begin{cases} \;\;\: 1 & \text{gdy } m = 6 k + 1 \\ \;\;\: 0 & \text{gdy } m = 6 k + 3 \\ - 1 & \text{gdy } m = 6 k + 5 \end{cases} }[/math]
Rozwiązanie

Zauważmy, że

[math]\displaystyle{ \left( {\small\frac{- 3}{m}} \right)_{\small{\!\! J}} = \left( {\small\frac{- 1}{m}} \right)_{\small{\!\! J}} \cdot \left( {\small\frac{3}{m}} \right)_{\small{\!\! J}} }[/math]
[math]\displaystyle{ \; = (- 1)^{\tfrac{m - 1}{2}} \cdot (- 1)^{\tfrac{m - 1}{2} \cdot \tfrac{3 - 1}{2}} \cdot \left( {\small\frac{m}{3}} \right)_{\small{\!\! J}} }[/math]
[math]\displaystyle{ \; = (- 1)^{m - 1} \cdot \left( {\small\frac{m}{3}} \right)_{\small{\!\! J}} }[/math]
[math]\displaystyle{ \; = \left( {\small\frac{m}{3}} \right)_{\small{\!\! J}} }[/math]

bo [math]\displaystyle{ m }[/math] jest liczbą nieparzystą.

Rozważmy liczby nieparzyste [math]\displaystyle{ m }[/math] postaci [math]\displaystyle{ 6 k + r }[/math], gdzie [math]\displaystyle{ r = 1, 3, 5 }[/math]. Mamy

[math]\displaystyle{ \left( {\small\frac{- 3}{m}} \right)_{\small{\!\! J}} = \left( {\small\frac{m}{3}} \right)_{\small{\!\! J}} }[/math]
[math]\displaystyle{ \; = \left( {\small\frac{6 k + r}{3}} \right)_{\small{\!\! J}} }[/math]
[math]\displaystyle{ \; = \left( {\small\frac{r}{3}} \right)_{\small{\!\! J}} }[/math]
[math]\displaystyle{ \; = \begin{cases} \;\;\: 1 & \text{gdy } r = 1 \\ \;\;\: 0 & \text{gdy } r = 3 \\ - 1 & \text{gdy } r = 5 \end{cases} }[/math]

bo odpowiednio dla [math]\displaystyle{ r = 1, 3, 5 }[/math] jest

[math]\displaystyle{ \left( {\small\frac{1}{3}} \right)_{\small{\!\! J}} = 1 }[/math]
[math]\displaystyle{ \left( {\small\frac{3}{3}} \right)_{\small{\!\! J}} = 0 }[/math]
[math]\displaystyle{ \left( {\small\frac{5}{3}} \right)_{\small{\!\! J}} = \left( {\small\frac{2}{3}} \right)_{\small{\!\! J}} = (- 1)^{\tfrac{9 - 1}{8}} = - 1 }[/math]

Łatwo zauważamy, że

[math]\displaystyle{ \left( {\small\frac{- 12}{m}} \right)_{\small{\!\! J}} = \left( {\small\frac{- 3 \cdot 2^2}{m}} \right)_{\small{\!\! J}} = \left( {\small\frac{- 3}{m}} \right)_{\small{\!\! J}} \cdot \left( {\small\frac{2}{m}} \right)_{\small{\!\! J}}^{\! 2} = \left( {\small\frac{- 3}{m}} \right)_{\small{\!\! J}} }[/math]

Co należało pokazać.


Zadanie J41
Pokazać, że

[math]\displaystyle{ \left( {\small\frac{3}{m}} \right)_{\small{\!\! J}} = \begin{cases} \;\;\: 1 & \text{gdy } m = 12 k \pm 1 \\ \;\;\: 0 & \text{gdy } m = 12 k \pm 3 \\ - 1 & \text{gdy } m = 12 k \pm 5 \end{cases} }[/math]


[math]\displaystyle{ \left( {\small\frac{5}{m}} \right)_{\small{\!\! J}} = \begin{cases} \;\;\: 1 & \text{gdy } m = 10 k \pm 1 \\ \;\;\: 0 & \text{gdy } m = 10 k + 5 \\ - 1 & \text{gdy } m = 10 k \pm 3 \end{cases} }[/math]
Rozwiązanie

Punkt 1.

Przy wyliczaniu symboli Legendre'a i Jacobiego, zawsze warto sprawdzić, czy da się ustalić przystawanie liczb modulo [math]\displaystyle{ 4 }[/math]. W tym przypadku mamy

[math]\displaystyle{ 3 \equiv 3 \pmod{4} }[/math]

i odpowiednio dla różnych postaci liczby [math]\displaystyle{ m }[/math] jest

[math]\displaystyle{ m = 12 k + 1 \equiv 1 \pmod{4} }[/math]
[math]\displaystyle{ m = 12 k + 5 \equiv 1 \pmod{4} }[/math]
[math]\displaystyle{ m = 12 k + 7 \equiv 3 \pmod{4} }[/math]
[math]\displaystyle{ m = 12 k + 11 \equiv 3 \pmod{4} }[/math]

Ułatwi nam to znacznie wykonywanie przekształceń (zobacz J36 p.9)

[math]\displaystyle{ \left( {\small\frac{3}{m}} \right)_{\small{\!\! J}} = \left( {\small\frac{3}{12 k + 1}} \right)_{\small{\!\! J}} = (+ 1) \cdot \left( {\small\frac{12 k + 1}{3}} \right)_{\small{\!\! J}} = \left( {\small\frac{1}{3}} \right)_{\small{\!\! J}} = 1 }[/math]
[math]\displaystyle{ \left( {\small\frac{3}{m}} \right)_{\small{\!\! J}} = \left( {\small\frac{3}{12 k + 5}} \right)_{\small{\!\! J}} = (+ 1) \cdot \left( {\small\frac{12 k + 5}{3}} \right)_{\small{\!\! J}} = \left( {\small\frac{5}{3}} \right)_{\small{\!\! J}} = \left( {\small\frac{2}{3}} \right)_{\small{\!\! J}} = - 1 }[/math]
[math]\displaystyle{ \left( {\small\frac{3}{m}} \right)_{\small{\!\! J}} = \left( {\small\frac{3}{12 k + 7}} \right)_{\small{\!\! J}} = (- 1) \cdot \left( {\small\frac{12 k + 7}{3}} \right)_{\small{\!\! J}} = - \left( {\small\frac{7}{3}} \right)_{\small{\!\! J}} = - \left( {\small\frac{1}{3}} \right)_{\small{\!\! J}} = - 1 }[/math]
[math]\displaystyle{ \left( {\small\frac{3}{m}} \right)_{\small{\!\! J}} = \left( {\small\frac{3}{12 k + 11}} \right)_{\small{\!\! J}} = (- 1) \cdot \left( {\small\frac{12 k + 11}{3}} \right)_{\small{\!\! J}} = - \left( {\small\frac{11}{3}} \right)_{\small{\!\! J}} = - \left( {\small\frac{2}{3}} \right)_{\small{\!\! J}} = 1 }[/math]

Punkt 2.

Ponieważ [math]\displaystyle{ 5 \equiv 1 \!\! \pmod{4} }[/math], to nie ma już znaczenia, czy [math]\displaystyle{ m \equiv 1 \!\! \pmod{4} }[/math], czy też [math]\displaystyle{ m \equiv 3 \!\! \pmod{4} }[/math]. Otrzymujemy natychmiast (zobacz J36 p.9)

[math]\displaystyle{ \left( {\small\frac{5}{m}} \right)_{\small{\!\! J}} = (+ 1) \cdot \left( {\small\frac{m}{5}} \right)_{\small{\!\! J}} = \left( {\small\frac{m}{5}} \right)_{\small{\!\! J}} }[/math]

Rozważmy liczby nieparzyste [math]\displaystyle{ m }[/math] postaci [math]\displaystyle{ 10 k + r }[/math], gdzie [math]\displaystyle{ r = 1, 3, 5, 7, 9 }[/math]. Mamy

[math]\displaystyle{ \left( {\small\frac{5}{m}} \right)_{\small{\!\! J}} = \left( {\small\frac{m}{5}} \right)_{\small{\!\! J}} }[/math]
[math]\displaystyle{ \:\, \quad = \left( {\small\frac{10 k + r}{5}} \right)_{\small{\!\! J}} }[/math]
[math]\displaystyle{ \:\, \quad = \left( {\small\frac{r}{5}} \right)_{\small{\!\! J}} }[/math]
[math]\displaystyle{ \:\, \quad = \begin{cases} \;\;\: 1 & \text{gdy } r = 1 \\ - 1 & \text{gdy } r = 3 \\ \;\;\: 0 & \text{gdy } r = 5 \\ - 1 & \text{gdy } r = 7 \\ \;\;\: 1 & \text{gdy } r = 9 \end{cases} }[/math]

bo odpowiednio dla [math]\displaystyle{ r = 1, 3, 5, 7, 9 }[/math] jest

[math]\displaystyle{ \left( {\small\frac{1}{5}} \right)_{\small{\!\! J}} = 1 }[/math]
[math]\displaystyle{ \left( {\small\frac{3}{5}} \right)_{\small{\!\! J}} = \left( {\small\frac{-2}{5}} \right)_{\small{\!\! J}} = (- 1)^{\tfrac{(5 - 1)(5 - 3)}{8}} = -1 }[/math]
[math]\displaystyle{ \left( {\small\frac{5}{5}} \right)_{\small{\!\! J}} = 0 }[/math]
[math]\displaystyle{ \left( {\small\frac{7}{5}} \right)_{\small{\!\! J}} = \left( {\small\frac{2}{5}} \right)_{\small{\!\! J}} = (- 1)^{\tfrac{25 - 1}{8}} = - 1 }[/math]
[math]\displaystyle{ \left( {\small\frac{9}{5}} \right)_{\small{\!\! J}} = \left( {\small\frac{3}{5}} \right)_{\small{\!\! J}}^{\! 2} = 1 }[/math]

Co należało pokazać.


Uwaga J42
Wykorzystując podane w twierdzeniu J36 właściwości symbolu Jacobiego, możemy napisać prostą funkcję w PARI/GP znajdującą jego wartość. Zauważmy, że nie potrzebujemy znać rozkładu liczby [math]\displaystyle{ n }[/math] na czynniki pierwsze.

jacobi(a, n) = 
{
local(r, w);
if( n <= 0 || n % 2 == 0, return("Error") );
a = a % n; \\ korzystamy ze wzoru (a|n) = (b|n), gdy a ≡ b (mod n)
w = 1;
while( a <> 0,
       while( a % 2 == 0, a = a/2; r = n % 8; if( r == 3 || r == 5, w = -w ) );
       \\ usunęliśmy czynnik 2 ze zmiennej a, uwzględniając, że (2|n) = -1, gdy n ≡ 3,5 (mod 8)
       \\ teraz zmienne a oraz n są nieparzyste
       r = a; \\ zmienna r tylko przechowuje wartość a
       a = n;
       n = r;
       if( a % 4 == 3 && n % 4 == 3, w = -w );
       \\ zamieniliśmy zmienne, uwzględniając, że (a|n) = - (n|a), gdy a ≡ n ≡ 3 (mod 4)
       a = a % n;
     );
if( n == 1, return(w), return(0) ); \\ n jest teraz równe gcd(a, n)
}


Uwaga J43
Jeżeli [math]\displaystyle{ m }[/math] jest liczbą pierwszą, to symbol Jacobiego jest symbolem Legendre'a, czyli [math]\displaystyle{ \left( {\small\frac{a}{m}} \right)_{\small{\!\! J}} = \left( {\small\frac{a}{m}} \right)_{\small{\!\! L}} }[/math]. Jeżeli [math]\displaystyle{ m }[/math] jest liczbą złożoną, to symbol Legendre'a [math]\displaystyle{ \left( {\small\frac{a}{m}} \right)_{\small{\!\! L}} }[/math] nie istnieje, a symbol Jacobiego [math]\displaystyle{ \left( {\small\frac{a}{m}} \right)_{\small{\!\! J}} }[/math] dostarcza jedynie ograniczonych informacji.

W przyszłości symbol Legendre'a / Jacobiego będziemy zapisywali w formie uproszczonej [math]\displaystyle{ (a \mid m) }[/math] i nie będziemy rozróżniali tych symboli. Interpretacja zapisu jest prosta:

  • jeżeli wiemy, że [math]\displaystyle{ m }[/math] jest liczbą pierwszą, to symbol [math]\displaystyle{ (a \mid m) }[/math] jest symbolem Legendre'a
  • jeżeli wiemy, że [math]\displaystyle{ m }[/math] jest liczbą złożoną, to symbol [math]\displaystyle{ (a \mid m) }[/math] jest symbolem Jacobiego
  • jeżeli nie wiemy, czy [math]\displaystyle{ m }[/math] jest liczbą pierwszą, czy złożoną, to symbol [math]\displaystyle{ (a \mid m) }[/math] jest symbolem Jacobiego



Rozwiązywanie kongruencji [math]\displaystyle{ x^2 \equiv a \!\! \pmod{m} }[/math]

Twierdzenie J44
Niech [math]\displaystyle{ p }[/math] będzie liczbą pierwszą nieparzystą, zaś [math]\displaystyle{ a }[/math] liczbą całkowitą taką, że [math]\displaystyle{ \gcd (a, p) = 1 }[/math]. Kongruencja

[math]\displaystyle{ x^2 \equiv a \pmod{p^n} }[/math]

ma rozwiązanie wtedy i tylko wtedy, gdy kongruencja

[math]\displaystyle{ x^2 \equiv a \pmod{p} }[/math]

ma rozwiązanie.

Dowód

[math]\displaystyle{ \Large{\Longrightarrow} }[/math]

Z założenia kongruencja [math]\displaystyle{ x^2 \equiv a \!\! \pmod{p^n} }[/math] ma rozwiązanie. Zatem istnieje taka liczba [math]\displaystyle{ r \in \mathbb{Z} }[/math], że

[math]\displaystyle{ r^2 \equiv a \pmod{p^n} }[/math]

Ponieważ [math]\displaystyle{ p^n \mid (r^2 - a) }[/math], to tym bardziej [math]\displaystyle{ p \mid (r^2 - a) }[/math], co oznacza, że prawdziwa jest kongruencja

[math]\displaystyle{ r^2 \equiv a \pmod{p} }[/math]

Skąd wynika natychmiast, że kongruencja [math]\displaystyle{ x^2 \equiv a \!\! \pmod{p} }[/math] ma rozwiązanie.

[math]\displaystyle{ \Large{\Longleftarrow} }[/math]

Indukcja matematyczna. Z uczynionego w twierdzeniu założenia wiemy, że kongruencja [math]\displaystyle{ x^2 \equiv a \!\! \pmod{p} }[/math] ma rozwiązanie. Zatem twierdzenie jest prawdziwe dla [math]\displaystyle{ n = 1 }[/math]. Załóżmy teraz (założenie indukcyjne), że kongruencja

[math]\displaystyle{ x^2 \equiv a \pmod{p^n} }[/math]

ma rozwiązanie [math]\displaystyle{ x \equiv u_n \!\! \pmod{p^n} }[/math] i pokażmy, że twierdzenie jest prawdziwe dla [math]\displaystyle{ n + 1 }[/math], czyli że rozwiązanie ma kongruencja

[math]\displaystyle{ x^2 \equiv a \pmod{p^{n + 1}} }[/math]

Wiemy, że liczba [math]\displaystyle{ u_n }[/math] jest określona modulo [math]\displaystyle{ p^n }[/math]. Nie tracąc ogólności, możemy założyć, że [math]\displaystyle{ 1 \leqslant u_n \lt p^n }[/math]. Wartość [math]\displaystyle{ u_n }[/math] może zostać wybrana dowolnie (modulo [math]\displaystyle{ p^n }[/math]), ale musi zostać ustalona — wymaga tego precyzja i czytelność dowodu. Zatem

[math]\displaystyle{ u^2_n - a = k p^n }[/math]

Zauważmy, że liczba [math]\displaystyle{ k }[/math] jest jednoznacznie określona, bo wartość [math]\displaystyle{ u_n }[/math] została ustalona. Ponieważ [math]\displaystyle{ \gcd (2 u_n, p) = 1 }[/math], to równanie

[math]\displaystyle{ 2 u_n \cdot s - p \cdot l = - k }[/math]

ma rozwiązanie (zobacz C76). Niech liczby [math]\displaystyle{ s_0 }[/math] i [math]\displaystyle{ l_0 }[/math] będą rozwiązaniem tego równania. Zatem

[math]\displaystyle{ 2 u_n \cdot s_0 - p \cdot l_0 = - k }[/math]
[math]\displaystyle{ 2 u_n \cdot s_0 p^n - l_0 \cdot p^{n + 1} = - k p^n }[/math]
[math]\displaystyle{ 2 u_n \cdot s_0 p^n - l_0 \cdot p^{n + 1} = - ( u^2_n - a ) }[/math]
[math]\displaystyle{ u^2_n + 2 u_n \cdot s_0 p^n = a + l_0 \cdot p^{n + 1} }[/math]

Modulo [math]\displaystyle{ p^{n + 1} }[/math] dostajemy

[math]\displaystyle{ u^2_n + 2 u_n \cdot s_0 p^n \equiv a \pmod{p^{n + 1}} }[/math]
[math]\displaystyle{ (u_n + s_0 p^n)^2 \equiv a \pmod{p^{n + 1}} }[/math]

bo [math]\displaystyle{ p^{n + 1} \mid p^{2 n} }[/math]. Zatem liczba [math]\displaystyle{ u_{n + 1} = u_n + s_0 p^n }[/math] jest rozwiązaniem kongruencji

[math]\displaystyle{ x^2 \equiv a \pmod{p^{n + 1}} }[/math]

Pokazaliśmy tym samym prawdziwość tezy indukcyjnej, co kończy dowód indukcyjny.


Uwaga J45
Dla niewielkich modułów rozwiązania dowolnej kongruencji możemy znaleźć przez bezpośrednie sprawdzenie. Omówimy teraz rozwiązania kongruencji [math]\displaystyle{ x^2 \equiv a \!\! \pmod{2^n} }[/math] dla [math]\displaystyle{ n = 1, 2, 3 }[/math]. Ponieważ zakładamy, że [math]\displaystyle{ \gcd (a, m) = \gcd (a, 2^n) = 1 }[/math], to [math]\displaystyle{ a }[/math] musi być liczbą nieparzystą, zaś [math]\displaystyle{ x }[/math] nie może być liczbą parzystą. Istotnie, gdyby tak było, to mielibyśmy [math]\displaystyle{ 0 \equiv 1 \!\! \pmod{2} }[/math], bo [math]\displaystyle{ 2 \mid 2^n }[/math].

Kongruencja

[math]\displaystyle{ x^2 \equiv a \pmod{2} }[/math]

ma dokładnie jedno rozwiązanie [math]\displaystyle{ x \equiv 1 \!\! \pmod{2} }[/math].

Kongruencja

[math]\displaystyle{ x^2 \equiv a \pmod{4} }[/math]

ma dwa rozwiązania, gdy [math]\displaystyle{ a \equiv 1 \!\! \pmod{4} }[/math]. Rozwiązaniami są: [math]\displaystyle{ x \equiv 1, 3 \!\! \pmod{4} }[/math]. W przypadku, gdy [math]\displaystyle{ a \equiv 3 \!\! \pmod{4} }[/math] kongruencja nie ma rozwiązań.

Kongruencja

[math]\displaystyle{ x^2 \equiv a \pmod{8} }[/math]

ma cztery rozwiązania, gdy [math]\displaystyle{ a \equiv 1 \!\! \pmod{8} }[/math]. Rozwiązaniami są: [math]\displaystyle{ x \equiv 1, 3, 5, 7 \!\! \pmod{8} }[/math]. W przypadku, gdy [math]\displaystyle{ a \equiv 3, 5, 7 \!\! \pmod{8} }[/math] kongruencja nie ma rozwiązań.


Twierdzenie J46
Niech [math]\displaystyle{ n \geqslant 3 }[/math] i [math]\displaystyle{ a }[/math] będzie liczbą nieparzystą. Kongruencja

[math]\displaystyle{ x^2 \equiv a \pmod{2^n} }[/math]

ma rozwiązanie wtedy i tylko wtedy, gdy kongruencja

[math]\displaystyle{ x^2 \equiv a \pmod{8} }[/math]

ma rozwiązanie.

Dowód

[math]\displaystyle{ \Large{\Longrightarrow} }[/math]

Z założenia kongruencja [math]\displaystyle{ x^2 \equiv a \!\! \pmod{2^n} }[/math] ma rozwiązanie, zatem istnieje taka liczba [math]\displaystyle{ r \in \mathbb{Z} }[/math], że

[math]\displaystyle{ r^2 \equiv a \pmod{2^n} }[/math]

Ponieważ [math]\displaystyle{ 2^n \mid (r^2 - a) }[/math], gdzie [math]\displaystyle{ n \geqslant 3 }[/math], to tym bardziej [math]\displaystyle{ 2^3 \mid (r^2 - a) }[/math]. Co oznacza, że prawdziwa jest kongruencja

[math]\displaystyle{ r^2 \equiv a \pmod{2^3} }[/math]

Skąd wynika natychmiast, że kongruencja [math]\displaystyle{ x^2 \equiv a \!\! \pmod{8} }[/math] ma rozwiązanie.

[math]\displaystyle{ \Large{\Longleftarrow} }[/math]

Indukcja matematyczna. Z uczynionego w twierdzeniu założenia wiemy, że kongruencja [math]\displaystyle{ x^2 \equiv a \pmod{8} }[/math] ma rozwiązanie. Zatem twierdzenie jest prawdziwe dla [math]\displaystyle{ n = 3 }[/math]. Załóżmy teraz (założenie indukcyjne), że kongruencja

[math]\displaystyle{ x^2 \equiv a \pmod{2^n} }[/math]

ma rozwiązanie [math]\displaystyle{ x \equiv u_n \!\! \pmod{2^n} }[/math] i pokażemy, że twierdzenie jest prawdziwe dla [math]\displaystyle{ n + 1 }[/math], czyli że rozwiązanie ma kongruencja

[math]\displaystyle{ x^2 \equiv a \pmod{2^{n + 1}} }[/math]

Z założenia istnieje taka liczba [math]\displaystyle{ k }[/math], że [math]\displaystyle{ u^2_n - a = k \cdot 2^n }[/math]. Niech

[math]\displaystyle{ r = \begin{cases} 0 & \text{gdy } k \text{ jest liczbą parzystą}\\ 1 & \text{gdy } k \text{ jest liczbą nieparzystą} \end{cases} }[/math]

Zauważmy, że

[math]\displaystyle{ (u_n + r \cdot 2^{n - 1})^2 - a = u^2_n - a + 2^n r + r^2 \cdot 2^{2 n - 2} }[/math]
[math]\displaystyle{ \;\! = k \cdot 2^n + 2^n r + r^2 \cdot 2^{2 n - 2} }[/math]
[math]\displaystyle{ \;\! = 2^n (k + r) + r^2 \cdot 2^{2 n - 2} }[/math]
[math]\displaystyle{ \;\! \equiv 0 \pmod{2^{n + 1}} }[/math]

bo [math]\displaystyle{ k + r }[/math] jest liczbą parzystą, a dla [math]\displaystyle{ n \geqslant 3 }[/math] mamy [math]\displaystyle{ 2 n - 2 \geqslant n + 1 }[/math]. Zatem liczba [math]\displaystyle{ u_{n + 1} = u_n + r \cdot 2^{n - 1} }[/math] jest rozwiązaniem kongruencji

[math]\displaystyle{ x^2 \equiv a \pmod{2^{n + 1}} }[/math]

Pokazaliśmy tym samym prawdziwość tezy indukcyjnej, co kończy dowód indukcyjny.


Wniosek J47
Jeżeli [math]\displaystyle{ a }[/math] jest liczbą nieparzystą, to kongruencja [math]\displaystyle{ x^2 \equiv a \!\! \pmod{2^n} }[/math] ma rozwiązanie wtedy i tylko wtedy, gdy [math]\displaystyle{ a }[/math] jest postaci [math]\displaystyle{ 2 k + 1 }[/math], [math]\displaystyle{ 4 k + 1 }[/math] lub [math]\displaystyle{ 8 k + 1 }[/math] w zależności od tego, czy [math]\displaystyle{ n = 1 }[/math], czy [math]\displaystyle{ n = 2 }[/math], czy [math]\displaystyle{ n \geqslant 3 }[/math].


Uwaga J48
Niech [math]\displaystyle{ m = p^{\alpha_1}_1 \cdot \ldots \cdot p^{\alpha_s}_s }[/math] i [math]\displaystyle{ \gcd (a, m) = 1 }[/math]. Z chińskiego twierdzenia o resztach (zobacz J3 i J11) wynika, że kongruencja [math]\displaystyle{ x^2 \equiv a \!\! \pmod{m} }[/math] ma rozwiązanie wtedy i tylko wtedy, gdy ma rozwiązanie każda z kongruencji

[math]\displaystyle{ \begin{align} x^2 & \equiv a \pmod{p^{\alpha_1}_1} \\ & \,\,\,\cdots \\ x^2 & \equiv a \pmod{p^{\alpha_s}_s} \\ \end{align} }[/math]

Z definicji J27, twierdzeń J44 i J46, uwagi J45 i wniosku J47 otrzymujemy


Twierdzenie J49
Niech [math]\displaystyle{ m \in \mathbb{Z}_+ }[/math] i [math]\displaystyle{ \gcd (a, m) = 1 }[/math]. Kongruencja

[math]\displaystyle{ x^2 \equiv a \pmod{m} }[/math]

ma rozwiązanie wtedy i tylko wtedy, gdy

●    dla każdego nieparzystego dzielnika pierwszego [math]\displaystyle{ p }[/math] liczby [math]\displaystyle{ m }[/math] jest  [math]\displaystyle{ \left( {\small\frac{a}{p}} \right)_{\small{\!\! L}} = 1 }[/math]
●    jeżeli  [math]\displaystyle{ 8 \mid m }[/math],  to  [math]\displaystyle{ 8 \mid ( a - 1 ) }[/math]
●    jeżeli  [math]\displaystyle{ 8 \nmid m }[/math],  ale  [math]\displaystyle{ 4 \mid m }[/math],  to  [math]\displaystyle{ 4 \mid ( a - 1 ) }[/math]


Twierdzenie J50
Niech [math]\displaystyle{ m \in \mathbb{Z}_+ }[/math] i [math]\displaystyle{ \gcd (a, m) = 1 }[/math]. Kongruencja

[math]\displaystyle{ x^2 \equiv a \pmod{m} }[/math]

nie ma rozwiązania wtedy i tylko wtedy, gdy spełniony jest co najmniej jeden z warunków

●    jeżeli dla dowolnego nieparzystego dzielnika [math]\displaystyle{ d }[/math] liczby [math]\displaystyle{ m }[/math] jest [math]\displaystyle{ \left( {\small\frac{a}{d}} \right)_{\small{\!\! J}} = - 1 }[/math]
●    jeżeli  [math]\displaystyle{ 8 \mid m }[/math]  i  [math]\displaystyle{ 8 \nmid ( a - 1 ) }[/math]
●    jeżeli  [math]\displaystyle{ 8 \nmid m }[/math],  ale  [math]\displaystyle{ 4 \mid m }[/math]  i  [math]\displaystyle{ 4 \nmid ( a - 1 ) }[/math]
Dowód

Punkt 1.

Z założenia [math]\displaystyle{ d \mid m }[/math]. Gdyby kongruencja

[math]\displaystyle{ x^2 \equiv a \pmod{m} }[/math]

miała rozwiązanie, to również kongruencja

[math]\displaystyle{ x^2 \equiv a \pmod{d} }[/math]

miałaby rozwiązanie, ale jest to niemożliwe, bo założyliśmy, że [math]\displaystyle{ \left( {\small\frac{a}{d}} \right)_{\small{\!\! J}} = - 1 }[/math], co oznacza, że [math]\displaystyle{ a }[/math] jest liczbą niekwadratową modulo [math]\displaystyle{ d }[/math].

Punkty 2. i 3. wynikają wprost z twierdzenia J49.


Przykład J51
Zauważmy, że [math]\displaystyle{ \left( {\small\frac{17}{19}} \right)_{\small{\!\! J}} = \left( {\small\frac{5}{19}} \right)_{\small{\!\! J}} = 1 }[/math] oraz [math]\displaystyle{ \left( {\small\frac{17}{23}} \right)_{\small{\!\! J}} = \left( {\small\frac{5}{23}} \right)_{\small{\!\! J}} = - 1 }[/math]. W tabelach zestawiliśmy kongruencje i ich rozwiązania.


Zadanie J52
Rozwiązać kongruencję, gdzie [math]\displaystyle{ p }[/math] jest liczbą pierwszą nieparzystą

[math]\displaystyle{ x^2 + rx + s \equiv 0 \pmod{p} }[/math]
Rozwiązanie

Ponieważ [math]\displaystyle{ \gcd (2, p) = 1 }[/math], to nie zmniejszając ogólności kongruencję powyższą możemy zapisać w postaci

[math]\displaystyle{ 4 x^2 + 4 rx + 4 s \equiv 0 \pmod{p} }[/math]
[math]\displaystyle{ (2 x + r)^2 - r^2 + 4 s \equiv 0 \pmod{p} }[/math]
[math]\displaystyle{ (2 x + r)^2 \equiv r^2 - 4 s \pmod{p} }[/math]

Widzimy, że rozpatrywana kongruencja ma rozwiązanie wtedy i tylko wtedy, gdy liczba [math]\displaystyle{ r^2 - 4 s }[/math] jest liczbą kwadratową modulo [math]\displaystyle{ p }[/math]. Istotnie, jeśli jest liczbą kwadratową, to istnieje taka liczba [math]\displaystyle{ b }[/math], że [math]\displaystyle{ b^2 \equiv r^2 - 4 s \!\! \pmod{p} }[/math], zatem otrzymujemy

[math]\displaystyle{ (2 x + r)^2 \equiv b^2 \pmod{p} }[/math]
[math]\displaystyle{ 2 x + r \equiv \pm b \pmod{p} }[/math]
[math]\displaystyle{ x \equiv {\small\frac{p + 1}{2}} \cdot (- r \pm b) \pmod{p} }[/math]

Jeśli [math]\displaystyle{ r^2 - 4 s }[/math] nie jest liczbą kwadratową modulo [math]\displaystyle{ p }[/math], to kongruencja

[math]\displaystyle{ (2 x + r)^2 \equiv r^2 - 4 s \pmod{p} }[/math]

nie ma rozwiązania. Wynika stąd, że równoważna jej kongruencja

[math]\displaystyle{ x^2 + rx + s \equiv 0 \pmod{p} }[/math]

również nie ma rozwiązania.


Zadanie J53
Rozwiązać kongruencję

[math]\displaystyle{ 5 x^2 + 6 x + 8 \equiv 0 \pmod{19} }[/math]
Rozwiązanie

Rozwiązywanie kongruencji w przypadku konkretnych wartości liczb [math]\displaystyle{ r, s }[/math] jest łatwiejsze niż w przypadku ogólnym. Mnożąc obie strony kongruencji przez [math]\displaystyle{ 4 }[/math], otrzymujemy

[math]\displaystyle{ x^2 + 24 x + 32 \equiv 0 \pmod{19} }[/math]
[math]\displaystyle{ x^2 + 24 x + 13 \equiv 0 \pmod{19} }[/math]

Celowo zostawiliśmy parzysty współczynnik przy [math]\displaystyle{ x }[/math]. Gdyby był nieparzysty, to zawsze możemy dodać do niego nieparzysty moduł.

[math]\displaystyle{ (x + 12)^2 - 144 + 13 \equiv 0 \pmod{19} }[/math]
[math]\displaystyle{ (x + 12)^2 + 2 \equiv 0 \pmod{19} }[/math]
[math]\displaystyle{ (x + 12)^2 \equiv - 2 \pmod{19} }[/math]
[math]\displaystyle{ (x + 12)^2 \equiv 6^2 \pmod{19} }[/math]
[math]\displaystyle{ x + 12 \equiv \pm 6 \pmod{19} }[/math]

Otrzymujemy: [math]\displaystyle{ x \equiv 1 \!\! \pmod{19} }[/math] lub [math]\displaystyle{ x \equiv 13 \!\! \pmod{19} }[/math].


Nieco spostrzegawczości pozwala znaleźć rozwiązanie kongruencji natychmiast. W naszym przypadku wystarczyło zauważyć, że

[math]\displaystyle{ x^2 + 24 x + 13 \equiv x^2 - 14 x + 13 \equiv (x - 1) (x - 13) \equiv 0 \pmod{19} }[/math]








Przypisy

  1. Wikipedia, Chińskie twierdzenie o resztach, (Wiki-pl), (Wiki-en)
  2. CRT to często używany skrót od angielskiej nazwy twierdzenia: Chinese remainder theorem
  3. Wikipedia, Logical equivalence, (Wiki-en)
  4. Wikipedia, Zasada włączeń i wyłączeń, (Wiki-pl), (Wiki-en)
  5. Wikipedia, Symbol Legendre’a, (Wiki-pl), (Wiki-en)
  6. Wikipedia, Symbol Jacobiego, (Wiki-pl), (Wiki-en)