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>\Longrightarrow</math><br/>
 +
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>\beta = {\small\frac{P - \sqrt{D}}{2}}</math>
+
<math>\Longleftarrow</math><br/>
 +
Z kongruencji
  
są pierwiastkami równania <math>x^2 - P x + Q = 0</math>.
+
::<math>u \equiv a \pmod{m}</math>
  
 +
wynika, że <math>u - a = k m</math>, zaś z&nbsp;kongruencji
  
 +
::<math>u \equiv a \pmod{n}</math>
  
<span style="font-size: 110%; font-weight: bold;">Uwaga L2</span><br/>
+
otrzymujemy <math>n \, | \, (u - a)</math>, czyli <math>n \, | \, k m</math>. Ponieważ <math>\gcd (m, n) = 1</math>, zatem <math>n \, | \, k</math> (zobacz C72) 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/>
Zauważmy, że:
+
&#9633;
 +
{{\Spoiler}}
  
::<math>P = \alpha + \beta</math>
 
  
::<math>Q = \alpha \beta</math>
 
  
::<math>\sqrt{D} = \alpha - \beta</math>
+
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J2</span><br/>
 +
Dla dowolnych liczb <math>a, b \in \mathbb{Z}</math> i 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>U_0 = 0</math>, <math>U_1 = 1</math>, <math>V_0 = 2</math> i <math>V_1 = P</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 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
  
Warunek <math>P^2 - 4 Q \neq 0</math> wyklucza następujące pary <math>(P, Q)</math>
+
::<math>m x + n y = 1</math>
  
::<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>
+
Niech <math>c = a n y + b m x</math>. Modulo <math>m</math> dostajemy
  
 +
::<math>c \equiv a n y \pmod{m}</math>
  
 +
::<math>c \equiv a (1 - m x) \pmod{m}</math>
  
<span style="font-size: 110%; font-weight: bold;">Uwaga L3</span><br/>
+
::<math>c \equiv a \pmod{m}</math>
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>
+
Natomiast modulo <math>n</math> mamy
  
Wynika stąd, że ciągi <math>(\alpha^n)</math> i <math>(\beta^n)</math> spełniają równania rekurencyjne
+
::<math>c \equiv b m x \pmod{n}</math>
  
::<math>\alpha^{n + 2} = P \alpha^{n + 1} - Q \alpha^n</math>
+
::<math>c \equiv b (1 - n y) \pmod{n}</math>
  
::<math>\beta^{n + 2} = P \beta^{n + 1} - Q \beta^n</math>
+
::<math>c \equiv b \pmod{n}</math>
  
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
+
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 założenia <math>m \, | \, (d - a)</math> i <math>m \, | \, (c - a)</math>, zatem <math>m</math> dzieli różnicę tych liczb, czyli <math>m \, | \, (d - c)</math>. Podobnie pokazujemy, że <math>n \, | \, (d - c)</math>. Ponieważ liczby <math>m</math> i <math>n</math> są względnie pierwsze, to <math>m n \, | \, (d - c)</math> (zobacz C73), co oznacza, że
  
::<math>U_{n + 2} = P U_{n + 1} - Q U_n</math>
+
::<math>d \equiv c \pmod{m n}</math>.
  
::<math>V_{n + 2} = P V_{n + 1} - Q V_n</math>
+
Czyli możemy powiedzieć, że wybrana przez nas liczba <math>c</math> jest określona modulo <math>m n</math> i tak rozumiana jest dokładnie jedna. W szczególności istnieje tylko jedna liczba <math>c</math> taka, że <math>1 \leqslant c \leqslant m n</math>.<br/>
 +
&#9633;
 +
{{\Spoiler}}
  
Dlatego możemy zdefiniować ciągi Lucasa <math>(U_n)</math> i <math>(V_n)</math> w&nbsp;sposób równoważny
 
  
  
 +
<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
  
<span style="font-size: 110%; font-weight: bold;">Definicja L4</span><br/>
+
::<math>u \equiv c \pmod{m n}</math>
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>
+
jest równoważna układowi kongruencji
  
::<math>V_0 = 2</math>, <math>V_1 = P</math>, <math>V_n = P V_{n - 1} - Q V_{n - 2}</math>
+
::<math>\begin{align}
 +
u & \equiv a \pmod{m} \\
 +
u & \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 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>\begin{align}
 +
c & \equiv a \pmod{m} \\
 +
c & \equiv b \pmod{n}
 +
\end{align}</math>
  
<span style="font-size: 110%; font-weight: bold;">Przykład L5</span><br/>
+
Korzystając z tego rezultatu i twierdzenia J1, otrzymujemy
Początkowe wyrazy ciągów Lucasa
 
  
::{| class="wikitable plainlinks"  style="font-size: 100%; text-align: left; margin-right: auto;"
+
::<math>u \equiv c \pmod{m n} \qquad \Longleftrightarrow \qquad
|-
+
\begin{array}{l}
! <math>\boldsymbol{n}</math> !! <math>\boldsymbol{U_n (P, Q)}</math> !! <math>\boldsymbol{V_n (P, Q)}</math>
+
  u \equiv c \; \pmod{m} \\
|-
+
  u \equiv c \; \pmod{n} \\
| &nbsp;&nbsp;<math>0</math>&nbsp;&nbsp; || <math>0</math> || <math>2</math>
+
\end{array} \qquad \Longleftrightarrow \qquad
|-
+
\begin{array}{l}
| &nbsp;&nbsp;<math>1</math>&nbsp;&nbsp; || <math>1</math> || <math>P</math>
+
  u \equiv a \; \pmod{m} \\
|-
+
  u \equiv b \:\, \pmod{n} \\
| &nbsp;&nbsp;<math>2</math>&nbsp;&nbsp; || <math>P</math> || <math>P^2 - 2 Q</math>
+
\end{array} </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>
 
|}
 
  
 +
Co należało pokazać.<br/>
 +
&#9633;
 +
{{\Spoiler}}
  
  
<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: 110%; font-weight: bold;">Uwaga J4</span><br/>
 +
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;">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>
+
::<math>\begin{align}
 +
u &\equiv 1 \pmod{4} \\
 +
u &\equiv 3 \pmod{8}
 +
\end{align}</math>
  
 +
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>
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie L7</span><br/>
+
i nie może być <math>u \equiv 3 \pmod{8}</math>.
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}}
+
<span style="font-size: 110%; font-weight: bold;">Zadanie J5</span><br/>
Oznaczmy <math>\delta = \sqrt{D}</math>, zatem <math>2 \alpha = P + \delta</math> i <math>2 \beta = P - \delta</math>. Ze wzoru dwumianowego, mamy
+
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>), że 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>\begin{align}
 +
u & \equiv a_1 \pmod{m_1} \\
 +
  & \cdots \\
 +
u & \equiv a_k \pmod{m_k}
 +
\end{align}</math>
  
::<math>2^n \beta^n = (P - \delta)^n = \sum_{j = 0}^{n} \binom{n}{j} P^{n - j} (- \delta)^j</math>
+
można zapisać w sposób równoważny w postaci kongruencji
  
Obliczając sumę powyższych wzorów, otrzymujemy
+
::<math>u \equiv c \;\; \pmod{m_1 \cdot \ldots \cdot m_k}</math>
  
::<math>2^n (\alpha^n + \beta^n) = \sum_{j = 0}^{n} \binom{n}{j} P^{n - j} (\delta^j + (- \delta)^j)</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 J2). Zakładając prawdziwość twierdzenia dla wszystkich liczb naturalnych należących do przedziału <math>[2, k]</math> otrzymujemy dla <math>k + 1</math> układ
  
:::::<math>\quad \: = \sum_{k = 0}^{\lfloor n / 2 \rfloor} \binom{n}{2 k} P^{n - 2 k} \cdot 2 \delta^{2 k}</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>\quad \: = 2 \sum_{k = 0}^{\lfloor n / 2 \rfloor} \binom{n}{2 k} P^{n - 2 k} D^k</math>
+
gdzie skorzystaliśmy z założenia indukcyjnego. Z twierdzenia J2 wynika, że układ ten można zapisać w sposób równoważny w postaci kongruencji
  
gdzie <math>j = 2 k</math> i&nbsp;sumowanie przebiega od <math>k = 0</math> do <math>k = \lfloor n / 2 \rfloor</math>
+
::<math>u \equiv c' \pmod{m_1 \cdot \ldots \cdot m_k m_{k + 1}}</math>
  
Zatem
+
gdzie liczba <math>c'</math> jest dokładnie jedna i 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/>
 +
&#9633;
 +
{{\Spoiler}}
  
::<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
+
<span style="font-size: 110%; font-weight: bold;">Przykład J6</span><br/>
 +
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>2^n (\alpha^n - \beta^n) = \sum_{j = 0}^{n} \binom{n}{j} P^{n - j} (\delta^j - (- \delta)^j)</math>
+
::<math>\begin{align}
 +
n &\equiv 3 \pmod{5} \\
 +
n &\equiv 4 \pmod{7}
 +
\end{align}</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>
+
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
  
:::::<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>
+
<span style="font-size: 90%; color:black;">chinese( Mod(3,5), Mod(4,7) )</span>
  
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>
+
uzyskujemy wynik <code>Mod(18, 35)</code>, zatem równoważna kongruencja ma postać
  
 +
::<math>n \equiv 18 \pmod{35}</math>
  
Zatem
+
Jest to zarazem odpowiedź na postawione pytanie: najmniejsza liczba kulek wynosi <math>18</math>.
  
::<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>
+
Gdybyśmy chcieli rozważać bardziej rozbudowany układ kongruencji, przykładowo
  
Co należało pokazać.<br/>
+
::<math>\begin{align}
&#9633;
+
n &\equiv 1 \pmod{2} \\
{{\Spoiler}}
+
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&nbsp;postaci wektora
  
 +
<span style="font-size: 90%; color:black;">chinese( [Mod(1,2), Mod(2,3), Mod(3,5), Mod(4,7), Mod(5,11)] )</span>
  
<span style="font-size: 110%; font-weight: bold;">Uwaga L8</span><br/>
+
Otrzymujemy <code>Mod(1523, 2310)</code>.
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>
 
  
<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>
 
  
<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>
 
  
  
  
Często możemy spotkać założenie <math>P \geqslant 1</math>. Poniższe twierdzenie wyjaśnia, dlaczego tak jest.
+
== Wielomiany ==
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie L9</span><br/>
+
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J7</span><br/>
Jeżeli <math>(U_n)</math> i <math>(V_n)</math> są ciągami Lucasa, to
+
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
  
::<math>U_n (- P, Q) = (- 1)^{n - 1} U_n (P, Q)</math>
+
::<math>W_n (x) = W_n (s) + (x - s) V_{n - 1} (x)</math>
  
::<math>V_n (- P, Q) = (- 1)^n V_n (P, Q)</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.
  
 
{{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}}
Niech
+
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>\alpha = \frac{P + \sqrt{D}}{2} \qquad \qquad \;\; \beta = \frac{P - \sqrt{D}}{2}</math>
 
 
 
::<math>a = \frac{- P + \sqrt{D}}{2} \qquad \qquad b = \frac{- P - \sqrt{D}}{2}</math>
 
  
Liczby <math>\alpha, \beta</math> oraz <math>a, b</math> są odpowiednio pierwiastkami równań
+
::<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>x^2 - P x + Q = 0</math>
+
::::::<math>\quad \; = \sum_{k = 1}^{n} a_k (x^k - s^k)</math>
  
::<math>x^2 + P x + Q = 0</math>
+
Dla <math>k \geqslant 1</math> prawdziwy jest wzór
  
Zatem definiują one ciągi Lucasa
+
::<math>x^k - s^k = (x - s) \sum_{j = 1}^{k} x^{k - j} s^{j - 1}</math>
  
::<math>U_n (P, Q) = \frac{\alpha^n - \beta^n}{\alpha - \beta} \qquad \qquad \;\; V_n (P, Q) = \alpha^n + \beta^n</math>
+
::::<math>\;\,\, = (x - s) (x^{k - 1} + s x^{k - 2} + \ldots + s^{k - 2} x + s^{k - 1})</math>
  
::<math>U_n (- P, Q) = \frac{a^n - b^n}{a - b} \qquad \qquad V_n (- P, Q) = a^n + b^n</math>
+
::::<math>\;\,\, = (x - s) U^{(k)} (x)</math>
  
Zauważmy, że
+
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ć
  
::<math>\alpha - \beta = a - b = \sqrt{D}</math>
+
::<math>W_n (x) - W_n (s) = (x - s) \sum_{k = 1}^{n} a_k U^{(k)} (x)</math>
  
::<math>\frac{a}{\beta} = \frac{b}{\alpha} = - 1</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
  
Łatwo znajdujemy
+
::<math>W_n (x) - W_n (s) = (x - s) V_{n - 1} (x)</math>
  
::<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>
+
Niech <math>V_n (x) = \sum_{k = 0}^{n - 1} b_k x^k</math>. Mamy
  
::<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>
+
::<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>
  
Co należało pokazać.<br/>
+
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;
 
&#9633;
 
{{\Spoiler}}
 
{{\Spoiler}}
Linia 216: Linia 242:
  
  
<span style="font-size: 110%; font-weight: bold;">Zadanie L10</span><br/>
+
<span style="font-size: 110%; font-weight: bold;">Definicja J8</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
+
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>.
  
::<math>U_n (2 P, 4 Q) = 2^{n - 1} U_n (P, Q)</math>
 
  
::<math>V_n (2 P, 4 Q) = 2^n V_n (P, Q)</math>
 
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Rozwiązanie|Hide=Ukryj rozwiązanie}}
+
<span style="font-size: 110%; font-weight: bold;">Definicja J9</span><br/>
Niech
+
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>\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ń
+
<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>x^2 - P x + Q = 0</math>
+
::<math>W_n (x) \equiv W_n (y) \pmod{m}</math>
  
::<math>x^2 - 2 P x + 4 Q = 0</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
  
Zatem definiują one ciągi Lucasa
+
::<math>x^k - y^k = (x - y) \sum_{j = 1}^{k} x^{k - j} y^{j - 1}</math>
  
::<math>U_n (P, Q) = {\small\frac{\alpha^n - \beta^n}{\alpha - \beta}} \qquad \qquad \;\;\; V_n (P, Q) = \alpha^n + \beta^n</math>
+
Z założenia <math>m \, | \, (x - y)</math>, zatem dla <math>k \geqslant 1</math> mamy <math>m \, | \, (x^k - y^k)</math>. Wynika stąd, że prawdziwe są kongruencje
  
::<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>
+
::<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>
  
Zauważmy, że
+
Dodając wypisane kongruencje stronami, otrzymujemy
  
::<math>\alpha - \beta = \sqrt{D}</math>
+
::<math>W_n (x) \equiv W_n (y) \pmod{m}</math>
 
 
::<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>
 
  
 
Co należało pokazać.<br/>
 
Co należało pokazać.<br/>
Linia 262: Linia 282:
  
  
<span style="font-size: 110%; font-weight: bold;">Zadanie L11</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
+
Podsumujmy: jeżeli kongruencje
  
::<math>\alpha - \beta = a - b = \sqrt{- P}</math>
+
::<math>\begin{align}
 +
  W (x) &\equiv 0 \pmod{m}\\
 +
  W (x) &\equiv 0 \pmod{n}
 +
\end{align}</math>
  
::<math>{\small\frac{a}{\beta}} = {\small\frac{P + \sqrt{- P}}{1 - \sqrt{- P}}} = \sqrt{- P}</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>{\small\frac{b}{\alpha}} = {\small\frac{P - \sqrt{- P}}{1 + \sqrt{- P}}} = - \sqrt{- P}</math>
+
::<math>W(x) \equiv 0 \pmod{m n}</math>
  
  
Łatwo znajdujemy
 
  
::<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>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>
+
== Twierdzenie Lagrange'a ==
  
 +
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J12</span><br/>
 +
Kongruencja
  
::<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>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>.
  
::<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>
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
  
Co należało pokazać.<br/>
+
'''A. Istnienie rozwiązania'''
&#9633;
 
{{\Spoiler}}
 
  
 +
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 C74. Poniżej przedstawimy jeszcze jeden sposób znalezienia rozwiązania.
  
 +
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 C71 - 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
  
<span style="font-size: 110%; font-weight: bold;">Zadanie L12</span><br/>
+
::<math>a_1 r \equiv 1 \pmod{p}</math>
Pokazać, że jeżeli <math>Q \in \mathbb{Z} \setminus \{ 0 \}</math> oraz <math>P = 4 Q + 1</math>, to
 
  
::<math>U_{2 k} (P, P Q) = P^k U_{2 k} (1, - Q)</math>
+
Mnożąc rozpatrywaną kongruencję przez <math>r</math>, otrzymujemy
  
::<math>U_{2 k + 1} (P, P Q) = P^k V_{2 k + 1} (1, - Q)</math>
+
::<math>a_1 r x + a_0 r \equiv 0 \pmod{p}</math>
  
::<math>V_{2 k} (P, P Q) = P^k V_{2 k} (1, - Q)</math>
+
Zatem
  
::<math>V_{2 k + 1} (P, P Q) = P^{k + 1} U_{2 k + 1} (1, - Q)</math>
+
::<math>x \equiv - a_0 r \pmod{p}</math>
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Rozwiązanie|Hide=Ukryj rozwiązanie}}
+
'''B. Brak innych rozwiązań'''
Niech
 
  
::<math>\alpha = {\small\frac{1 + \sqrt{P}}{2}} \qquad \qquad \beta = {\small\frac{1 - \sqrt{P}}{2}}</math>
+
Przypuśćmy, że istnieją dwa różne rozwiązania kongruencji
  
::<math>a = {\small\frac{P + \sqrt{P}}{2}} \qquad \qquad b = {\small\frac{P - \sqrt{P}}{2}}</math>
+
::<math>a_1 x + a_0 \equiv 0 \pmod{p}</math>
  
Liczby <math>\alpha, \beta</math> oraz <math>a, b</math> są odpowiednio pierwiastkami równań
+
Jeśli oznaczymy je przez <math>x_1</math> i <math>x_2</math>, to otrzymamy
  
::<math>x^2 - x - {\small\frac{P - 1}{4}} = 0</math>
+
::<math>a_1 x_1 + a_0 \equiv 0 \equiv a_1 x_2 + a_0 \pmod{p}</math>
  
::<math>x^2 - P x + {\small\frac{P (P - 1)}{4}} = 0</math>
+
Czyli
  
Z założenia <math>P = 4 Q + 1</math>, zatem
+
::<math>a_1 x_1 \equiv a_1 x_2 \pmod{p}</math>
  
::<math>x^2 - x - Q = 0</math>
+
::<math>p \, | \, a_1 (x_1 - x_2)</math>
  
::<math>x^2 - P x + P Q = 0</math>
+
Ponieważ <math>p \nmid a_1</math>, to z&nbsp;lematu Euklidesa (C72) otrzymujemy natychmiast <math>p \, | \, (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}}
  
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;">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
  
Zauważmy, że
+
::<math>W_n (x) \equiv 0 \pmod{p}</math>
  
::<math>\alpha - \beta = a - b = \sqrt{P}</math>
+
ma co najwyżej <math>n</math> rozwiązań.
  
::<math>{\small\frac{a}{\alpha}} = {\small\frac{P + \sqrt{P}}{1 + \sqrt{P}}} = \sqrt{P}</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>{\small\frac{b}{\beta}} = {\small\frac{P - \sqrt{P}}{1 - \sqrt{P}}} = - \sqrt{P}</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ć
  
Łatwo znajdujemy
+
::<math>W_n (x) - W_n (s) = (x - s) V_{n - 1} (x)</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>
+
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>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>
+
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>
  
::<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>
+
Ponieważ <math>p</math> jest liczbą pierwszą, to z&nbsp;rozpatrywanej kongruencji
  
 +
::<math>W_n (x) \equiv 0 \pmod{p}</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>
+
wynika, że musi być (zobacz C72)
  
Co należało pokazać.<br/>
+
::<math>x \equiv s \pmod{p} \qquad \qquad \text{lub} \qquad \qquad V_{n - 1} (x) \equiv 0 \pmod{p}</math>
&#9633;
 
{{\Spoiler}}
 
  
  
 +
Z założenia indukcyjnego kongruencja
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie L13</span><br/>
+
::<math>V_{n - 1} (x) \pmod{p}</math>
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;"
+
ma co najwyżej <math>n - 1</math> rozwiązań, zatem kongruencja
|-
 
| <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}}
+
::<math>W_n (x) \equiv 0 \pmod{p}</math>
'''Wzory 1. - 7. najłatwiej udowodnić korzystając z&nbsp;definicji L1.'''
 
  
Wzór 1.
+
ma nie więcej niż <math>n</math> rozwiązań. Co należało pokazać.<br/>
 +
&#9633;
 +
{{\Spoiler}}
  
::<math>U_{m + n} = {\small\frac{\alpha^{m + n} - \beta^{m + n}}{\alpha - \beta}}</math>
 
  
:::<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>
 
  
:::<math>\quad \: = U_m U_{n + 1} - Q U_{m - 1} U_n</math>
+
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J14</span><br/>
 +
Jeżeli kongruencja
  
 +
::<math>a_n x^n + a_{n - 1} x^{n - 1} + \ldots + a_1 x + a_0 \equiv 0 \pmod{p}</math>
  
Wzór 2.
+
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>.
  
::<math>V_{m + n} = \alpha^{m + n} + \beta^{m + n}</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
  
:::<math>\quad \;\! = (\alpha^m + \beta^m) (\alpha^n + \beta^n) - \alpha^n \beta^n \cdot (\alpha^{m - n} + \beta^{m - n})</math>
+
::<math>a_0 \not\equiv 0 \pmod{p}</math>
  
:::<math>\quad \;\! = V_m V_n - Q^n V_{m - n}</math>
+
Konsekwentnie, dla dowolnego <math>x \in \mathbb{Z}</math> jest
  
 +
::<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 3.
+
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>.
  
::<math>U_{m + n} = {\small\frac{\alpha^{m + n} - \beta^{m + n}}{\alpha - \beta}}</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}}
  
:::<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>\quad \: = U_m V_n - Q^n U_{m - n}</math>
 
  
 +
<span style="font-size: 110%; font-weight: bold;">Przykład J15</span><br/>
 +
Z twierdzenia Lagrange'a wynika, że kongruencja
  
Wzór 4.
+
::<math>x^p - x - 1 \equiv 0 \pmod{p}</math>
  
::<math>V_{m + n} = \alpha^{m + n} + \beta^{m + n}</math>
+
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>\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>x^p \equiv x \pmod{p}</math>
  
:::<math>\quad \;\! = D U_m U_n + Q^n V_{m - n}</math>
 
  
  
Wzór 5.
+
<span style="font-size: 110%; font-weight: bold;">Przykład J16</span><br/>
 +
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
  
::<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>
+
::<math>W(x) = x^{15} + 11 x^{11} + 5 x^5 + 2 x^2 + x + 1</math>
  
::::::<math>\;\;\: = 2 \cdot \alpha^n \beta^n \cdot {\small\frac{\alpha^{m - n} - \beta^{m - n}}{\alpha - \beta}}</math>
+
Ponieważ <math>x^5 \equiv x \pmod{5}</math>, to
  
::::::<math>\;\;\: = 2 Q^n U_{m - n}</math>
+
::<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
  
Wzór 6.
+
::<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>
  
::<math>U^2_n = \left( {\small\frac{\alpha^n - \beta^n}{\alpha - \beta}} \right)^2</math>
+
ale <math>x^5 - x \equiv 0 \pmod{5}</math> na mocy twierdzenia Fermata.
  
:::<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>
 
  
  
Wzór 7.
 
  
::<math>V^2_n = (\alpha^n + \beta^n)^2</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>
 
  
:::<math>\;\! = V_{n - 1} V_{n + 1} - D Q^{n - 1}</math>
 
  
 +
== Twierdzenie Wilsona ==
  
'''Wzory 8. - 18. można łatwo udowodnić, korzystając ze wzorów 1. - 7.'''
 
  
Wzór 8. Policzyć sumę wzoru 3. pomnożonego przez <math>2</math> i&nbsp;wzoru 5.
+
<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
  
Wzór 9. Policzyć sumę wzorów 2. i 4.
+
::<math>(p - 1) ! \equiv - 1 \pmod{p}</math>
  
Wzór 10. Połączyć wzory 2. i 4.
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 +
<math>\Longleftarrow</math><br/>
 +
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 \, | \, p</math>, to prawdziwa jest kongruencja
  
Wzór 11. We wzorze 3. położyć <math>m = n</math>.
+
::<math>(p - 1) ! \equiv - 1 \pmod{d}</math>
  
Wzór 12. We wzorze 2. położyć <math>m = n</math>.
+
czyli
  
Wzór 13. We wzorze 4. położyć <math>m = n</math>.
+
::<math>0 \equiv - 1 \pmod{d}</math>
  
Wzór 14. We wzorze 10. położyć <math>m = n</math> lub połączyć wzory 12. i 13.
+
co jest niemożliwe.
  
Wzór 15. We wzorze 9. położyć <math>m = 1</math>.
+
<math>\Longrightarrow</math><br/>
 +
Łatwo sprawdzamy, że twierdzenie jest prawdziwe dla <math>p = 2</math>. Niech teraz <math>p</math> będzie liczbą pierwszą nieparzystą. Rozważmy wielomiany
  
Wzór 16. We wzorze 8. położyć <math>m = 1</math>.
+
::<math>W(x) = (x - 1) (x - 2) \cdot \ldots \cdot (x - (p - 1))</math>
  
Wzór 17. We wzorze 15. położyć <math>V_{n + 1} = P V_n - Q V_{n - 1}</math>.
+
oraz
  
Wzór 18. We wzorze 16. położyć <math>U_{n + 1} = P U_n - Q U_{n - 1}</math>.
+
::<math>V(x) = x^{p - 1} - 1</math>
  
 +
Zauważmy, że
  
'''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.'''
+
:* 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>
  
Wzór 19. Wystarczy połączyć wzory 11. oraz 16.
+
Niech
  
Wzór 20. Wystarczy we wzorze 1. położyć <math>m = n + 1</math>.
+
::<math>U(x) = W (x) - V (x)</math>
  
Wzór 21. Kładąc we wzorze 19. <math>n \rightarrow n + 1</math>, otrzymujemy
+
Zauważmy, że
  
::<math>U_{2 n + 2} = 2 U_{n + 1} U_{n + 2} - P U^2_{n + 1} \qquad (*)</math>
+
:* 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>
  
Kładąc we wzorze 1. <math>m = n + 2</math>, mamy
+
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}}
  
::<math>U_{2 n + 2} = U_{n + 2} U_{n + 1} - Q U_{n + 1} U_n</math>
 
  
Czyli
 
  
::<math>2 U_{2 n + 2} = 2 U_{n + 1} U_{n + 2} - 2 Q U_n U_{n + 1}</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>
+
== Twierdzenie Fermata ==
 +
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J18 (Pierre de Fermat, 1640)</span><br/>
 +
Niech <math>a \in \mathbb{Z}</math>. Jeżeli <math>p</math> jest liczbą pierwszą
  
Co należało pokazać.<br/>
+
:* to liczba <math>a^p - a</math> jest podzielna przez <math>p</math>, czyli <math>a^p \equiv a \pmod p</math>
&#9633;
+
:* 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}}
 
  
 +
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 +
'''Punkt 1.'''
  
 +
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/>
  
  
 +
Zatem wystarczy pokazać, że dla ustalonej liczby pierwszej nieparzystej <math>p</math> twierdzenie jest prawdziwe dla każdego <math>a \in \mathbb{Z}_+</math>.
  
== Obliczanie wyrazów ciągu Lucasa modulo <math>m</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|a^p - a</math>, otrzymujmy dla <math>a + 1</math>
  
<span style="font-size: 110%; font-weight: bold;">Przykład L14</span><br/>
+
::<math>(a + 1)^p - (a + 1) = \sum_{k = 0}^{p} \binom{p}{k} \cdot a^k - a - 1</math>
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>\;\;\,\, = 1 + \sum_{k = 1}^{p - 1} \binom{p}{k} \cdot a^k + a^p - a - 1</math>
  
::<math>U_{2 n + 1} = U^2_{n + 1} - Q U^2_n</math>
+
:::::::<math>\;\;\,\, = a^p - a + \sum^{p - 1}_{k = 1} \binom{p}{k} \cdot a^k</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>
+
Z założenia indukcyjnego <math>p|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>.
  
do szybkiego obliczania wyrazów ciągu Lucasa modulo <math>m</math>.
+
'''Punkt 2.'''
  
 +
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 C72) wynika natychmiast, że <math>p</math> dzieli <math>a^{p - 1} - 1</math>.<br/>
 +
&#9633;
 +
{{\Spoiler}}
  
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>.
 
  
W tabeli przedstawione są kolejne kroki, jakie musimy wykonać, aby policzyć <math>U_n = U_{22}</math> modulo <math>m = 23</math>.
 
  
::{| class="wikitable plainlinks"  style="font-size: 100%; text-align: center; margin-right: auto;"
 
|-
 
! <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>.
 
  
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
+
== Kryterium Eulera ==
  
:* 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>
+
<span style="font-size: 110%; font-weight: bold;">Definicja J19</span><br/>
:* 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>
+
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
:* 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>x^2 \equiv a \pmod{p}</math>
  
Dlatego, jeżeli kolejną dodaną cyfrą jest zero, to korzystamy ze wzorów
+
ma rozwiązanie, czyli istnieje taka liczba <math>k \in \mathbb{Z}</math>, że <math>p \, | \, (k^2 - a)</math>.
  
::<math>U_s = U_{2 r} = 2 U_r U_{r + 1} - P U^2_r</math>
+
Powiemy, że liczba <math>a</math> jest liczbą niekwadratową modulo <math>p</math>, jeżeli kongruencja
  
::<math>U_{s + 1} = U_{2 r + 1} = U^2_{r + 1} - Q U^2_r</math>
+
::<math>x^2 \equiv a \pmod{p}</math>
  
Gdy kolejną dodaną cyfrą jest jeden, to stosujemy wzory
+
nie ma rozwiązania.
  
::<math>U_s = U_{2 r + 1} = U^2_{r + 1} - Q U^2_r</math>
 
  
::<math>U_{s + 1} = U_{2 r + 2} = P U^2_{r + 1} - 2 Q U_r U_{r + 1}</math>
 
  
 +
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J20</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>.
  
Korzystając ze wzoru <math>V_n = 2 U_{n + 1} - P U_n</math>, mamy
+
{{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>V_{22} = 2 U_{23} - 3 U_{22} \equiv 44 - 60 \equiv - 16 \equiv 7 \pmod{23}</math>
+
::<math>k^2 \equiv (p - k)^2 \pmod{p}</math>
  
Ostatecznie otrzymujemy
+
Pozwala to wypisać pary liczb, których kwadraty są identyczne modulo <math>p</math>
  
::<math>U_{22} \equiv 20 \pmod{23} \quad</math> oraz <math>\quad V_{22} \equiv 7 \pmod{23}</math>
+
::<math>(1, p - 1), (2, p - 2), \ldots, \left( {\small\frac{p - 1}{2}}, p - {\small\frac{p - 1}{2}} \right)</math>
  
 +
Ponieważ
  
 +
::<math>p - {\small\frac{p - 1}{2}} = {\small\frac{p + 1}{2}} = {\small\frac{p - 1}{2}} + 1</math>
  
<span style="font-size: 110%; font-weight: bold;">Uwaga L15</span><br/>
+
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
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) =
+
::<math>(i - j) (i + j) \equiv 0 \pmod{p}</math>
{
 
'''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>
 
  
 +
Ł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>
  
 +
::<math>2 < i + j < p - 1</math>
  
  
== Podzielność wyrazów <math>U_n (P, Q)</math> przez liczbę pierwszą nieparzystą ==
+
Ponieważ (z definicji) liczba <math>a</math> jest liczbą kwadratową modulo <math>p</math>, jeżeli kongruencja
  
<span style="font-size: 110%; font-weight: bold;">Uwaga L16</span><br/>
+
::<math>x^2 \equiv a \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>
+
ma rozwiązanie, to liczba kwadratowa modulo <math>p</math> musi przystawać do pewnego kwadratu modulo <math>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
+
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}}
  
::<math>(U_n) \equiv (0, 1, 2, \ldots, p - 1, 0, 1, 2, \ldots, p - 1, 0, 1, 2, \ldots, p - 1, \ldots)</math>
 
  
Sytuacja wygląda inaczej, gdy <math>p \, | \, P Q</math>.
 
  
 
+
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J21 (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
<span style="font-size: 110%; font-weight: bold;">Twierdzenie L17</span><br/>
 
Niech <math>p</math> będzie liczbą pierwszą nieparzystą.
 
  
 
::{| border="0"  
 
::{| border="0"  
|-style=height:1.9em
+
|-style=height:2.5em
| &#9679;&nbsp;&nbsp;&nbsp; jeżeli <math>\; p \, | \, P \;</math> <math>\text{i} \;\; p \, | \, Q , \;</math> to <math>\; p \, | \, U_n \;</math> dla <math>n \geqslant 2</math>
+
| &#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:1.9em
+
|-style=height:2.5em
| &#9679;&nbsp;&nbsp;&nbsp; jeżeli <math>\; p \, | \, P \;</math> <math>\text{i} \;\; p \nmid Q , \;</math> to <math>\; p \, | \, U_{2 n} \;</math> i <math>\; p \nmid U_{2 n + 1}</math>
+
| &#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>
|-style=height:1.9em
 
| &#9679;&nbsp;&nbsp;&nbsp; jeżeli <math>\; p \nmid P \;</math> <math>\text{i} \;\; p \, | \, 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 \, | \, Q , \;</math> to <math>\; p \, | \, U_n</math>, gdzie <math>n \geqslant 2</math>, wtedy i&nbsp;tylko wtedy, gdy <math>\; p \, | \, P</math>
 
|-style=height:1.9em
 
| &#9679;&nbsp;&nbsp;&nbsp; jeżeli <math>\; p \nmid P \;</math> <math>\text{i} \;\; p \, | \, D , \;</math> to <math>\; p \, | \, U_n \;</math> wtedy i&nbsp;tylko wtedy, gdy <math>p \, | \, n</math>
 
 
|}
 
|}
  
Założenie, że <math>p \nmid P</math> w&nbsp;ostatnim punkcie jest istotne. Gdy <math>\; p \, | \, P \;</math> i <math>\; p \, | \, D , \;</math> to <math>\; p \, | \, Q \;</math> i&nbsp;otrzymujemy punkt pierwszy.
+
{{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 \, | \, 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>.
+
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
  
'''Punkt 2.'''
+
::<math>x^{(p - 1) / 2} \equiv 1 \pmod{p}</math>
  
Indeksy parzyste. Indukcja matematyczna. Mamy <math>U_0 = 0</math> i <math>U_2 = P</math>, zatem <math>p \, | \, U_0</math> i <math>p \, | \, U_2</math>. Zakładając, że <math>p \, | \, U_{2 n}</math>, z definicji ciągu <math>(U_k)</math>, otrzymujemy dla <math>U_{2 n + 2}</math>
+
Zauważmy, że
  
::<math>U_{2 n + 2} = P U_{2 n - 1} - Q U_{2 n}</math>
+
::{| border=1 style="border-collapse: collapse;"
 +
|-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 J20
 +
|-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>
 +
|}
  
Z założenia indukcyjnego wynika, że <math>p \, | \, U_{2 n + 2}</math>, zatem na mocy zasady indukcji matematycznej twierdzenie jest prawdziwe dla wszystkich <math>n \geqslant 0</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>
+
Łącząc rezultaty z&nbsp;tabeli, otrzymujemy
  
::<math>U_{2 n + 1} = P U_{2 n} - Q U_{2 n - 1}</math>
+
::<math>{\small\frac{p - 1}{2}} = | Q | \leqslant | S | \leqslant {\small\frac{p - 1}{2}}</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>.
+
Skąd łatwo widzimy, że
  
'''Punkt 3.'''
+
::<math>| Q | = | S | = {\small\frac{p - 1}{2}}</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>
+
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 J22). Prostą konsekwencją równości zbiorów <math>Q</math> i <math>S</math> jest stwierdzenie
otrzymujemy dla <math>n + 1</math>
 
  
::<math>U_{n + 1} = P U_n - Q U_{n - 1}</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;
 +
|}
 +
 
 +
Co kończy dowód punktu pierwszego.
  
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 2.'''
  
'''Punkt 4.'''
+
Z udowodnionego już punktu pierwszego wynika<ref name="logic1"/>, że
  
Wynika z&nbsp;punktów pierwszego i&nbsp;trzeciego.
+
::{| 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} \not\equiv 1 \pmod{p}</math>&nbsp;&nbsp;&nbsp;
 +
|}
  
'''Punkt 5.'''
+
Z twierdzenia Fermata
  
Z twierdzenia L7 wiemy, że
+
::<math>a^{p - 1} - 1 = (a^{(p - 1) / 2} - 1) \cdot (a^{(p - 1) / 2} + 1) \equiv 0 \pmod{p}</math>
  
::<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>
+
wynika natychmiast, że jeżeli <math>a^{(p - 1) / 2} - 1 \not\equiv 0 \pmod{p}</math>, to musi być
  
::::<math>\;\; = n P^{n - 1} + \binom{n}{3} P^{n - 3} D + \binom{n}{5} P^{n - 5} D^2 + \ldots +
+
::<math>a^{(p - 1) / 2} + 1 \equiv 0 \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 \, | \, D</math>, zatem modulo <math>p</math> dostajemy
+
Fakt ten pozwala sformułować uzyskaną równoważność bardziej precyzyjnie
  
::<math>2^{n - 1} U_n \equiv n P^{n - 1} \pmod{p}</math>
+
::{| 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;
 +
|}
  
Ponieważ <math>p \nmid P</math>, zatem <math>p \, | \, U_n</math> wtedy i&nbsp;tylko wtedy, gdy <math>p \, | \, n</math>.
 
 
Co należało pokazać.<br/>
 
Co należało pokazać.<br/>
 
&#9633;
 
&#9633;
Linia 747: Linia 722:
  
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie L18</span><br/>
+
<span style="font-size: 110%; font-weight: bold;">Zadanie J22</span><br/>
Jeżeli <math>d</math> jest nieparzystym dzielnikiem <math>Q</math>, to dla <math>n \geqslant 2</math> jest
+
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_n \equiv P^{n - 1} \pmod{d}</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
  
W szczególności, gdy liczba pierwsza nieparzysta <math>p</math> jest dzielnikiem <math>Q</math> i <math>p \nmid P</math>, to
+
::<math>B = A \cup C \qquad \text{i} \qquad A \cap C = \varnothing</math>
  
::<math>U_p \equiv 1 \pmod{p}</math>
+
Ponieważ z&nbsp;założenia zbiory <math>A</math> i <math>C</math> są rozłączne, to wiemy, że
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
+
::<math>| A \cup C | = | A | + | C |</math>
Oznaczmy <math>\delta = \sqrt{D}</math>, zatem <math>2 \alpha = P + \delta</math> i <math>2 \beta = P - \delta</math>. Ze wzoru dwumianowego, mamy
 
  
::<math>2^n \alpha^n = (P + \delta)^n = \sum_{j = 0}^{n} \binom{n}{j} P^{n - j} \delta^j</math>
+
Czyli
  
::<math>2^n \beta^n = (P - \delta)^n = \sum_{j = 0}^{n} \binom{n}{j} P^{n - j} (- \delta)^j</math>
+
::<math>| B | = | A \cup C | = | A | + | C |</math>
  
 +
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ć.
  
Obliczając różnicę wyjściowych 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>
+
<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"/>
  
:::::<math>\quad \: = \underset{j \; \text{nieparzyste}}{\sum_{j = 1}^{n}} \binom{n}{j} P^{n - j} \cdot 2 \delta^j</math>
+
::<math>| A \cup C | = | A | + | C | - | A \cap C |</math><br/>
 +
&#9633;
 +
{{\Spoiler}}
  
:::::<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>
 
  
Rozpatrując powyższą równość modulo <math>Q</math> dostajemy (zobacz L43)
 
  
::<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>
 
  
Czyli
 
  
::<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>
+
== Symbol Legendre'a ==
  
Co należało pokazać.<br/>
+
<span style="font-size: 110%; font-weight: bold;">Definicja J23</span><br/>
&#9633;
+
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
{{\Spoiler}}
 
  
 +
::<math>\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 \, | \, a
 +
\end{cases}</math>
  
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie L19</span><br/>
 
Niech <math>D = P^2 - 4 Q</math>, a <math>(D \, | \, p)</math> oznacza symbol Legendre'a, gdzie <math>p</math> jest liczbą pierwszą nieparzystą i <math>p \nmid Q</math>. Mamy
 
  
::{| border="0"
+
<span style="font-size: 110%; font-weight: bold;">Uwaga J24</span><br/>
|-style=height:2em
+
Powyższa definicja pozwala nam zapisać kryterium Eulera w&nbsp;zwartej formie, która obejmuje również przypadek, gdy <math>p \, | \, a</math>
| &#9679;&nbsp;&nbsp;&nbsp; <math>U_p \equiv (D \, | \, p) \pmod{p}</math>
 
|-style=height:2em
 
| &#9679;&nbsp;&nbsp;&nbsp; jeżeli <math>(D \, | \, p) = - 1 , \;</math> to <math>\; p \, | \, U_{p + 1}</math>
 
|-style=height:2em
 
| &#9679;&nbsp;&nbsp;&nbsp; jeżeli <math>(D \, | \, p) = 1 , \;</math> to <math>\; p \, | \, U_{p - 1}</math>
 
|}
 
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
+
::<math>a^{(p - 1) / 2} \equiv \left( {\small\frac{a}{p}} \right)_{\small{\!\! L}} \pmod{p}</math>
'''Punkt 1.'''
 
  
Zauważmy, że przypadek gdy <math>p \, | \, 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
 
  
::<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>
 
  
Ponieważ dla każdego <math>k \in [1, p - 1]</math> (zobacz L43)
+
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J25*</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
  
::<math>\binom{p}{k} \equiv 0 \pmod{p}</math>
+
::{| class="wikitable plainlinks"  style="font-size: 100%; text-align: left; margin-right: auto;"
 +
|-
 +
| &nbsp;&nbsp;1.&nbsp;&nbsp; || <math>\left( {\small\frac{a}{p}} \right)_{\small{\!\! L}} \,\, = \,\, 0 \quad \Longleftrightarrow \quad \gcd (a, p) > 1</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>
 +
|-
 +
| &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>
 +
|-
 +
| &nbsp;&nbsp;4.&nbsp;&nbsp; || <math>a^{(p - 1) / 2} \equiv \left( {\small\frac{a}{p}} \right)_{\small{\!\! L}} \pmod{p}</math>
 +
|-
 +
| &nbsp;&nbsp;5.&nbsp;&nbsp; || <math>\left( {\small\frac{1}{p}} \right)_{\small{\!\! L}} \,\, = \,\, 1</math>
 +
|-
 +
| &nbsp;&nbsp;6.&nbsp;&nbsp; || <math>\left( {\small\frac{- 1}{p}} \right)_{\small{\!\! L}} \,\, = \,\, (- 1)^{\tfrac{p - 1}{2}} \,\, = \,\,
 +
  \begin{cases}
 +
\;\;\: 1 & \text{gdy } p \equiv 1 \pmod{4} \\
 +
      - 1 & \text{gdy } p \equiv 3 \pmod{4}
 +
  \end{cases}</math>
 +
|-
 +
| &nbsp;&nbsp;7.&nbsp;&nbsp; || <math>\left( {\small\frac{2}{p}} \right)_{\small{\!\! L}} \,\, = \,\, (- 1)^{\tfrac{p^2 - 1}{8}} \,\, = \,\,
 +
  \begin{cases}
 +
\;\;\: 1 & \text{gdy } p \equiv 1, 7 \pmod{8} \\
 +
      - 1 & \text{gdy } p \equiv 3, 5 \pmod{8}
 +
  \end{cases}</math>
 +
|-
 +
| &nbsp;&nbsp;8.&nbsp;&nbsp; || <math>\left( {\small\frac{- 2}{p}} \right)_{\small{\!\! L}} \,\, = \,\, (- 1)^{\tfrac{(p - 1)(p - 3)}{8}} \,\, = \,\,
 +
  \begin{cases}
 +
\;\;\: 1 & \text{gdy } p \equiv 1, 3 \pmod{8} \\
 +
      - 1 & \text{gdy } p \equiv 5, 7 \pmod{8}
 +
  \end{cases}</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
 +
\begin{cases}
 +
\;\;\: 1 & \text{gdy } p \equiv 1 \pmod{4} \;\;\; \text{lub} \;\;\; q \equiv 1 \pmod{4} \\
 +
      - 1 & \text{gdy } p \equiv q \equiv 3 \pmod{4}
 +
  \end{cases}</math>
 +
|}
  
to modulo <math>p</math> dostajemy (zobacz J23)
 
  
::<math>2^{p - 1} U_p \equiv U_p \equiv D^{(p - 1) / 2} \equiv (D \, | \, p) \pmod{p}</math>
 
  
'''Punkt 2.'''
 
  
Zauważmy, że warunek <math>(D \, | \, p) = - 1</math> nie może być spełniony, gdy <math>p \, | \, Q</math>. Istotnie, gdy <math>p \, | \, Q</math>, to <math>D = P^2 - 4 Q \equiv P^2 \pmod{p}</math>, czyli
 
  
::<math>(D \, | \, p) = (P^2 \, | \, p) = (P \, | \, p)^2 = 0 , \;</math> gdy <math>p \, | \, P</math>
 
  
lub
 
  
::<math>(D \, | \, p) = (P^2 \, | \, p) = (P \, | \, p)^2 = 1 , \;</math> gdy <math>p \nmid P</math>
 
  
i nie może być <math>(D \, | \, p) = - 1</math>.
+
== Symbol Jacobiego ==
  
Dla parzystego <math>n = p + 1</math> otrzymujemy z&nbsp;twierdzenia L7
+
<span style="font-size: 110%; font-weight: bold;">Definicja J26</span><br/>
 +
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>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>
+
::<math>x^2 \equiv a \pmod{m}</math>
  
Ponieważ dla <math>k \in [2, p - 1]</math> (zobacz L44)
+
ma rozwiązanie, czyli istnieje taka liczba <math>k \in \mathbb{Z}</math>, że <math>m \, | \, (k^2 - a)</math>.
  
::<math>\binom{p + 1}{k} \equiv 0 \pmod{p}</math>
+
Powiemy, że liczba <math>a</math> jest liczbą niekwadratową modulo <math>m</math>, jeżeli kongruencja
  
to modulo <math>p</math> dostajemy
+
::<math>x^2 \equiv a \pmod{m}</math>
  
::<math>2 U_{p + 1} \equiv P + P D^{(p - 1) / 2} \pmod{p}</math>
+
nie ma rozwiązania.
  
  
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 J20). Skąd wynika natychmiast, że
 
  
::<math>2 U_{p + 1} \equiv 0 \pmod{p}</math>
+
<span style="font-size: 110%; font-weight: bold;">Zadanie J27</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>.
  
Czyli <math>p \, | \, U_{p + 1}</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}}
  
'''Punkt 3.'''
 
  
Dla parzystego <math>n = p - 1</math> otrzymujemy z&nbsp;twierdzenia L7
 
  
::<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>
+
<span style="font-size: 110%; font-weight: bold;">Definicja J28</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
  
Ponieważ dla <math>k \in [0, p - 1]</math> (zobacz L45)
+
::<math>\left( {\small\frac{a}{n}} \right)_{\small{\!\! J}} = \prod_i \left( {\small\frac{a}{p_i}} \right)_{\small{\!\! L}}^{\!\! \alpha_i}</math>
  
::<math>\binom{p - 1}{k} \equiv (- 1)^k \pmod{p}</math>
 
  
to 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>
+
<span style="font-size: 110%; font-weight: bold;">Uwaga J29</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>.
  
::::<math>\quad \,\, \equiv - P (P^{p - 3} + P^{p - 5} D + P^{p - 7} D^2 + \ldots + D^{(p - 3) / 2}) \pmod{p}</math>
 
  
  
Z założenia <math>D</math> jest liczbą kwadratową modulo <math>p</math> (zobacz J18), zatem istnieje taka liczba <math>R</math>, że
+
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J30*</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
  
::<math>D \equiv R^2 \pmod{p}</math>
+
::{| class="wikitable plainlinks"  style="font-size: 100%; text-align: left; 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>
 +
|-
 +
| &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>
 +
|-
 +
| &nbsp;&nbsp;5.&nbsp;&nbsp; || <math>\left( {\small\frac{1}{n}} \right)_{\small{\!\! J}} \,\, = \,\, 1</math>
 +
|-
 +
| &nbsp;&nbsp;6.&nbsp;&nbsp; || <math>\left( {\small\frac{- 1}{n}} \right)_{\small{\!\! J}} \,\, = \,\, (- 1)^{\tfrac{n - 1}{2}} \,\, = \,\,
 +
  \begin{cases}
 +
\;\;\: 1 & \text{gdy } n \equiv 1 \pmod{4} \\
 +
      - 1 & \text{gdy } n \equiv 3 \pmod{4}
 +
  \end{cases}</math>
 +
|-
 +
| &nbsp;&nbsp;7.&nbsp;&nbsp; || <math>\left( {\small\frac{2}{n}} \right)_{\small{\!\! J}} \,\, = \,\, (- 1)^{\tfrac{n^2 - 1}{8}} \,\, = \,\,
 +
  \begin{cases}
 +
\;\;\: 1 & \text{gdy } n \equiv 1, 7 \pmod{8} \\
 +
      - 1 & \text{gdy } n \equiv 3, 5 \pmod{8}
 +
  \end{cases}</math>
 +
|-
 +
| &nbsp;&nbsp;8.&nbsp;&nbsp; || <math>\left( {\small\frac{- 2}{n}} \right)_{\small{\!\! J}} \,\, = \,\, (- 1)^{\tfrac{(n - 1)(n - 3)}{8}} \,\, = \,\,
 +
  \begin{cases}
 +
\;\;\: 1 & \text{gdy } n \equiv 1, 3 \pmod{8} \\
 +
      - 1 & \text{gdy } n \equiv 5, 7 \pmod{8}
 +
  \end{cases}</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
 +
\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>
 +
|}
  
Ponieważ
 
  
:* <math>(D \, | \, p) = 1</math>, to <math>p \nmid D</math>, zatem <math>p \nmid R</math>
 
:* 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>
 
  
 +
<span style="font-size: 110%; font-weight: bold;">Uwaga J31</span><br/>
 +
Zauważmy, że poza zmienionym założeniem tabela z&nbsp;powyższego twierdzenia i&nbsp;tabela z&nbsp;twierdzenia J25 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.
  
Czyli
 
  
::<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>
 
  
 +
<span style="font-size: 110%; font-weight: bold;">Uwaga J32</span><br/>
 +
Zauważmy, że w&nbsp;przypadku, gdy <math>m</math> jest liczbą nieparzystą
  
Uwzględniając, że <math>P^2 - R^2 \not\equiv 0 \pmod{p}</math>, możemy napisać
+
:* 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>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>
+
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>\equiv - P (P^{p - 1} - R^{p - 1}) \pmod{p}</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>\equiv 0 \pmod{p}</math>
 
  
Zauważmy, że wynik nie zależy od tego, czy <math>p \, | \, P</math>, czy <math>p \nmid P</math>. Skąd wynika
 
  
::<math>U_{p - 1} \equiv 0 \pmod{p}</math>
+
<span style="font-size: 110%; font-weight: bold;">Uwaga J33</span><br/>
 +
Wszystkie liczby kwadratowe i&nbsp;niekwadratowe modulo <math>m</math> można łatwo znaleźć, wykorzystując prosty program:
  
Co należało pokazać.<br/>
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Pokaż kod|Hide=Ukryj kod}}
&#9633;
+
<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}}
 
{{\Spoiler}}
  
  
  
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/>
+
<span style="font-size: 110%; font-weight: bold;">Zadanie J34</span><br/>
<span style="font-size: 110%; font-weight: bold;">Twierdzenie L20</span><br/>
+
Pokazać, że
Jeżeli <math>p</math> jest liczbą pierwszą nieparzystą i <math>\gcd (p, Q D) = 1</math>, to
 
  
::<math>U_{p - (D \, | \, p)} \equiv 0 \pmod{p}</math>
+
::<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>
 +
 
 +
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Rozwiązanie|Hide=Ukryj rozwiązanie}}
 +
Zauważmy, że
 +
 
 +
::<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>
  
 +
::::<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>
  
 +
::::<math>\; = (- 1)^{m - 1} \cdot \left( {\small\frac{m}{3}} \right)_{\small{\!\! J}}</math>
  
 +
::::<math>\; = \left( {\small\frac{m}{3}} \right)_{\small{\!\! J}}</math>
  
 +
bo <math>m</math> jest liczbą nieparzystą.
  
== Liczby pseudopierwsze Lucasa ==
+
Rozważmy liczby nieparzyste <math>m</math> postaci <math>6 k + r</math>, gdzie <math>r = 1, 3, 5</math>. Mamy
  
<span style="font-size: 110%; font-weight: bold;">Uwaga L21</span><br/>
+
::<math>\left( {\small\frac{- 3}{m}} \right)_{\small{\!\! J}} = \left( {\small\frac{m}{3}} \right)_{\small{\!\! J}}</math>
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 \, | \, p)}</math>, gdzie <math>(D \, | \, 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
 
  
::<math>U_{m - (D \, | \, m)} \equiv 0 \pmod{m}</math>
+
::::<math>\; = \left( {\small\frac{6 k + r}{3}} \right)_{\small{\!\! J}}</math>
  
również jest prawdziwa. Prowadzi to definicji liczb pseudopierwszych Lucasa.
+
::::<math>\; = \left( {\small\frac{r}{3}} \right)_{\small{\!\! J}}</math>
  
 +
::::<math>\; =
 +
\begin{cases}
 +
\;\;\: 1 & \text{gdy } r = 1 \\
 +
\;\;\: 0 & \text{gdy } r = 3 \\
 +
      - 1 & \text{gdy } r = 5
 +
\end{cases}</math>
  
 +
bo odpowiednio dla <math>r = 1, 3, 5</math> jest
  
<span style="font-size: 110%; font-weight: bold;">Definicja L22</span><br/>
+
::<math>\left( {\small\frac{1}{3}} \right)_{\small{\!\! J}} = 1</math>
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 \, | \, m)} \equiv 0 \pmod{m}</math>
+
::<math>\left( {\small\frac{3}{3}} \right)_{\small{\!\! J}} = 0</math>
  
gdzie <math>(D \, | \, m)</math> oznacza symbol Jacobiego.
+
::<math>\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>\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ć.<br/>
 +
&#9633;
 +
{{\Spoiler}}
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie L23</span><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>.
 
  
{{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>
+
<span style="font-size: 110%; font-weight: bold;">Zadanie J35</span><br/>
 +
Pokazać, że
  
<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>.
+
::<math>\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>
  
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 \, | \, 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>
+
::<math>\left( {\small\frac{- 4}{m}} \right)_{\small{\!\! J}} =
 +
\begin{cases}
 +
\;\;\: 1 & \text{gdy } m = 4 k + 1 \\
 +
      - 1 & \text{gdy } m = 4 k + 3
 +
\end{cases}</math>
  
Czyli
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Rozwiązanie|Hide=Ukryj rozwiązanie}}
  
::<math>{\small\frac{a^{m - 1} - 1}{a - 1}} \equiv 0 \pmod{m}</math>
+
::<math>\left( {\small\frac{3}{m}} \right)_{\small{\!\! J}} = \left( {\small\frac{m}{3}} \right)_{\small{\!\! J}} \cdot (- 1)^{\tfrac{m - 1}{2} \cdot \tfrac{3 - 1}{2}} = \left( {\small\frac{12 k + 1}{3}} \right)_{\small{\!\! J}} \cdot (- 1)^{\tfrac{12 k}{2}} = \left( {\small\frac{1}{3}} \right)_{\small{\!\! J}} \cdot (- 1)^{6 k} = 1</math>
  
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ć
+
::<math>\left( {\small\frac{3}{m}} \right)_{\small{\!\! J}} = \left( {\small\frac{m}{3}} \right)_{\small{\!\! J}} \cdot (- 1)^{\tfrac{m - 1}{2} \cdot \tfrac{3 - 1}{2}} = \left( {\small\frac{12 k + 5}{3}} \right)_{\small{\!\! J}} \cdot (- 1)^{\tfrac{12 k + 4}{2}} = \left( {\small\frac{5}{3}} \right)_{\small{\!\! J}} \cdot (- 1)^{(6 k + 2)} = \left( {\small\frac{2}{3}} \right)_{\small{\!\! J}} = - 1</math>
  
::<math>a^{m - 1} - 1 \equiv 0 \pmod{m}</math>
+
::<math>\left( {\small\frac{3}{m}} \right)_{\small{\!\! J}} = \left( {\small\frac{m}{3}} \right)_{\small{\!\! J}} \cdot (- 1)^{\tfrac{m - 1}{2} \cdot \tfrac{3 - 1}{2}} = \left( {\small\frac{12 k + 7}{3}} \right)_{\small{\!\! J}} \cdot (- 1)^{\tfrac{12 k + 6}{2}} = \left( {\small\frac{1}{3}} \right)_{\small{\!\! J}} \cdot (- 1)^{(6 k + 3)} = - 1</math>
  
Zatem <math>m</math> jest liczbą pseudopierwszą Fermata przy podstawie <math>a</math>. Co należało pokazać.<br/>
+
::<math>\left( {\small\frac{3}{m}} \right)_{\small{\!\! J}} = \left( {\small\frac{m}{3}} \right)_{\small{\!\! J}} \cdot (- 1)^{\tfrac{m - 1}{2} \cdot \tfrac{3 - 1}{2}} = \left( {\small\frac{12 k + 11}{3}} \right)_{\small{\!\! J}} \cdot (- 1)^{\tfrac{12 k + 10}{2}} = \left( {\small\frac{2}{3}} \right)_{\small{\!\! J}} \cdot (- 1)^{(6 k + 5)} = (- 1) \cdot (- 1) = 1</math>
 +
<br/>
 
&#9633;
 
&#9633;
 
{{\Spoiler}}
 
{{\Spoiler}}
Linia 962: Linia 1035:
  
  
<span style="font-size: 110%; font-weight: bold;">Uwaga L24</span><br/>
+
<span style="font-size: 110%; font-weight: bold;">Uwaga J36</span><br/>
Wykorzystując funkcje <code>jacobi(a, n)</code> i <code>modLucas(n, P, Q, m)</code> (zobacz J35, L15) możemy napisać prosty program, który sprawdza, czy dla liczby nieparzystej <math>m</math> prawdziwe jest twierdzenie L20.
+
Wykorzystując podane w&nbsp;twierdzeniu J30 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;">isPrimeOr<span style="background-color: #fee481;">LPSP</span>(m, P, Q) =  
+
  <span style="font-size: 90%; color:black;">jacobi(a, n) =  
 
  {
 
  {
  '''local'''(D, js);
+
  '''local'''(r, w);
  D = P^2 - 4*Q;
+
  '''if'''( n <= 0 || n % 2 == 0, '''return'''("Error") );
  '''if'''( gcd(m, 2*Q*D) > 1, '''return'''(0) );
+
a = a % n; \\ korzystamy ze wzoru (a|n) = (b|n), gdy a &equiv; b (mod n)
js = jacobi(D, m);
+
w = 1;
'''if'''( modLucas(m - js, P, Q, m)[1] == 0, '''return'''(1), '''return'''(0) );
+
  '''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 &equiv; 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 &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 style="font-size: 110%; font-weight: bold;">Przykład L25</span><br/>
+
<span style="font-size: 110%; font-weight: bold;">Uwaga J37</span><br/>
Poniższa tabela zawiera najmniejsze liczby pseudopierwsze Lucasa dla różnych parametrów <math>P</math> i <math>Q</math>
+
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.
  
::{| class="wikitable plainlinks"  style="font-size: 100%; text-align: right; margin-right: auto;"
+
W przyszłości symbol Legendre'a / Jacobiego będziemy zapisywali w&nbsp;formie uproszczonej <math>(a \, | \, m)</math> i&nbsp;nie będziemy rozróżniali tych symboli. Interpretacja zapisu jest prosta:
! &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> || <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>
 
| <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>
 
| <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>
 
| <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>
 
| 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>
 
| <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>
 
|-
 
! <math>\boldsymbol{2}</math>
 
| <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>
 
|-
 
! <math>\boldsymbol{3}</math>
 
| 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>
 
|-
 
! <math>\boldsymbol{4}</math>
 
| 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>
 
|-
 
! <math>\boldsymbol{5}</math>
 
| <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>
 
|}
 
  
{{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 \, | \, m)</math> jest symbolem Legendre'a
<span style="font-size: 90%; color:black;">FirstLPSP(Stop) =
+
:* jeżeli '''wiemy''', że <math>m</math> jest liczbą złożoną, to symbol <math>(a \, | \, m)</math> jest symbolem Jacobiego
\\ najmniejsze LPSP(P,Q) < Stop;  dla 1<=P<=10 i -5<=Q<=5
+
:* jeżeli '''nie wiemy''', czy <math>m</math> jest liczbą pierwszą, czy złożoną, to symbol <math>(a \, | \, m)</math> jest symbolem Jacobiego
{
 
'''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 \, | \, m) = - 1</math>.
 
  
  
  
<span style="font-size: 110%; font-weight: bold;">Przykład L26</span><br/>
 
Ilość liczb LPSP(<math>P, Q</math>) mniejszych od <math>10^9</math>
 
  
::{| class="wikitable plainlinks"  style="font-size: 100%; text-align: right; margin-right: auto;"
+
== Rozwiązywanie kongruencji <math>x^2 \equiv a \pmod{m}</math> ==
! &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>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}}
+
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J38</span><br/>
<span style="font-size: 90%; color:black;">NumOfLPSP(Stop) =
+
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
\\ 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}}
 
  
 +
::<math>x^2 \equiv a \pmod{p^n}</math>
  
 +
ma rozwiązanie wtedy i&nbsp;tylko wtedy, gdy kongruencja
  
<span style="font-size: 110%; font-weight: bold;">Uwaga L27</span><br/>
+
::<math>x^2 \equiv a \pmod{p}</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>
+
ma rozwiązanie.
  
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)
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
  
::<math>U_{3 (k + 1)} = U_{3 k + 3} = U_{3 k} V_3 - U_{3 (k - 1)} = 0</math>
+
<math>\Large{\Longrightarrow}</math>
  
Co kończy dowód. Zbadajmy liczby pseudopierwsze Lucasa dla <math>(P, Q) = (1, 1)</math>.
+
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
  
Mamy <math>D = P^2 - 4 Q = - 3</math>. Wynika stąd, że nie może być <math>3 \, | \, m</math>, bo mielibyśmy <math>\gcd (m, Q D) = 3 > 1</math>.
+
::<math>r^2 \equiv a \pmod{p^n}</math>
  
Z zadania J33 wiemy, że
+
Ponieważ <math>p^n \, | \, (r^2 - a)</math>, to tym bardziej <math>p \, | \, (r^2 - a)</math>, co oznacza, że prawdziwa jest kongruencja
  
::<math>(- 3 \, | \, m) =
+
::<math>r^2 \equiv a \pmod{p}</math>
\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
+
Skąd wynika natychmiast, że kongruencja <math>x^2 \equiv a \pmod{p}</math> ma rozwiązanie.
  
::<math>U_{m - (- 3 \, | \, m)} = U_{6 k + 1 - 1} = U_{6 k} = 0</math>
+
<math>\Large{\Longleftarrow}</math>
  
W drugim przypadku, gdy <math>m = 6 k + 5</math>, dostajemy
+
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
  
::<math>U_{m - (- 3 \, | \, m)} = U_{6 k + 5 + 1} = U_{6 (k + 1)} = 0</math>
+
::<math>x^2 \equiv a \pmod{p^n}</math>
  
Zatem dla dowolnej liczby nieparzystej <math>m</math> niepodzielnej przez <math>3</math> jest
+
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
  
::<math>U_{m - (- 3 \, | \, m)} \equiv 0 \pmod{m}</math>
+
::<math>x^2 \equiv a \pmod{p^{n + 1}}</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
+
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
  
'''for'''(k = 1, 9, s = 0; '''forstep'''(m = 3, 10^k, 2, '''if'''( m%6 <> 3, s = s + !'''isprime'''(m) )); '''print'''(s))
+
::<math>u^2_n - a = k p^n</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>2 u_n \cdot s - p \cdot l = - k</math>
  
<span style="font-size: 110%; font-weight: bold;">Zadanie L28</span><br/>
+
ma rozwiązanie (zobacz C74). Niech liczby <math>s_0</math> i <math>l_0</math> będą rozwiązaniem tego równania. Zatem
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))
+
::<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>
  
 +
::<math>2 u_n \cdot s_0 p^n - l_0 \cdot p^{n + 1} = - ( u^2_n - a )</math>
  
 +
::<math>u^2_n + 2 u_n \cdot s_0 p^n = a + l_0 \cdot p^{n + 1}</math>
  
 +
Modulo <math>p^{n + 1}</math> dostajemy
  
== Metoda Selfridge'a wyboru parametrów <math>P</math> i <math>Q</math> ==
+
::<math>u^2_n + 2 u_n \cdot s_0 p^n \equiv a \pmod{p^{n + 1}}</math>
  
<span style="font-size: 110%; font-weight: bold;">Uwaga L29</span><br/>
+
::<math>(u_n + s_0 p^n)^2 \equiv a \pmod{p^{n + 1}}</math>
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).
+
bo <math>p^{n + 1} \, | \, p^{2 n}</math>. Zatem liczba <math>u_{n + 1} = u_n + s_0 p^n</math> jest rozwiązaniem kongruencji
  
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 \, | \, m) = - 1</math>. Dla tak ustalonego <math>D</math> przyjmujemy <math>P = 1</math> i <math>Q = (1 - D) / 4</math>.
+
::<math>x^2 \equiv a \pmod{p^{n + 1}}</math>
  
Tabela przedstawia początkowe wartości <math>Q</math>, jakie otrzymamy, stosując tę metodę.
+
Pokazaliśmy tym samym prawdziwość tezy indukcyjnej, co kończy dowód indukcyjny.<br/>
 +
&#9633;
 +
{{\Spoiler}}
  
::{| class="wikitable plainlinks"  style="font-size: 100%; text-align: right; margin-right: auto;"
 
! <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>
 
|-
 
!  <math>\boldsymbol{a_k}</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>
 
| <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  
+
<span style="font-size: 110%; font-weight: bold;">Uwaga J39</span><br/>
:* jeżeli liczba nieparzysta <math>m</math> jest liczbą kwadratową, to wybór <math>D</math> nie będzie możliwy
+
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 \, | \, 2^n</math>.
:* 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
 
  
 +
Kongruencja
  
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>x^2 \equiv a \pmod{2}</math>
  
::<math> a_{k+1} =
+
ma dokładnie jedno rozwiązanie <math>x \equiv 1 \pmod{2}</math>.
  \begin{cases}
 
  \qquad \qquad 5 & \text{gdy } k = 1\\
 
      - a_k - 2 * \mathop{\textnormal{sign}}( a_k ) & \text{gdy } k \geqslant 2
 
  \end{cases}</math>
 
  
możemy łatwo napisać odpowiednią funkcję znajdującą liczby <math>P, Q</math> według tej metody.
+
Kongruencja
  
<span style="font-size: 90%; color:black;">MethodA(m) =
+
::<math>x^2 \equiv a \pmod{4}</math>
{
 
'''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 J29)
+
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ń.
  
::<math>(a \, | \, m) = 0 \quad \qquad \Longleftrightarrow \quad \qquad \gcd (a, m) > 1</math>
+
Kongruencja
  
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 \, | \, a</math> i <math>m \nmid a</math>.
+
::<math>x^2 \equiv a \pmod{8}</math>
  
Gdy <math>\gcd (a, m) > 1</math> i <math>m \, | \, 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
+
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ń.
  
::<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
+
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J40</span><br/>
 +
Niech <math>n \geqslant 3</math> i <math>a</math> będzie liczbą nieparzystą. Kongruencja
  
::<math>\gcd (a, m) = \gcd (k \cdot m + r, m) = \gcd (r, m) = d</math>
+
::<math>x^2 \equiv a \pmod{2^n}</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ą.
+
ma rozwiązanie wtedy i&nbsp;tylko wtedy, gdy kongruencja
  
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 \, | \, m) = - 1</math>, pozostawiając zbadanie pierwszości liczby <math>m</math> na kolejnym etapie testowania.
+
::<math>x^2 \equiv a \pmod{8}</math>
  
 +
ma rozwiązanie.
  
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.
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
  
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 \, | \, 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>\Large{\Longrightarrow}</math>
  
::<math>U_{m + 1} (1, Q) \equiv 0 \pmod{m}</math>
+
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
  
bo mielibyśmy
+
::<math>r^2 \equiv a \pmod{2^n}</math>
  
::<math>U_{m + 1} (1, Q) \equiv 0 \pmod{p}</math>
+
Ponieważ <math>2^n \, | \, (r^2 - a)</math>, gdzie <math>n \geqslant 3</math>, to tym bardziej <math>2^3 \, | \, (r^2 - a)</math>. Co oznacza, że prawdziwa jest kongruencja
  
a to jest niemożliwe. Zatem program wykorzystujący twierdzenie L20 wykryje złożoność liczby <math>m</math>.
+
::<math>r^2 \equiv a \pmod{2^3}</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
+
Skąd wynika natychmiast, że kongruencja <math>x^2 \equiv a \pmod{8}</math> ma rozwiązanie.
  
::<math>| a_k | \leqslant m + 4</math>
+
<math>\Large{\Longleftarrow}</math>
  
Skąd wynika, że
+
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
  
::<math>| Q | = \left| {\small\frac{1 - a_k}{4}} \right| \leqslant {\small\frac{m + 5}{4}} < m</math>
+
::<math>x^2 \equiv a \pmod{2^n}</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>.
+
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
  
 +
::<math>x^2 \equiv a \pmod{2^{n + 1}}</math>
  
 +
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: 110%; font-weight: bold;">Zadanie L30</span><br/>
+
::<math>r =
Pokazać, że w&nbsp;przypadku, gdy dla kolejnych liczb <math>a_k = (- 1)^k (2 k + 1)</math> sprawdzamy, czy konsekwencją <math>(a_k \, | \, 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>.
+
  \begin{cases}
 +
  0 & \text{gdy } k \text{ jest liczbą parzystą}\\
 +
  1 & \text{gdy } k \text{ jest liczbą nieparzystą}
 +
  \end{cases}</math>
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Rozwiązanie|Hide=Ukryj rozwiązanie}}
+
Zauważmy, że
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: 100%; text-align: center; margin-right: auto;"
+
::<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>\boldsymbol{k}</math> !! <math>\boldsymbol{0}</math> !!  !!  !!  !!  !!  !!  !!  !!  !!  !! <math>\boldsymbol{(m-1)/2}</math> !!  !!  !!  !!  !!  !!  !!  !!  !!  !! <math>\boldsymbol{m-1}</math>
 
|-
 
! <math>\boldsymbol{k}</math>
 
| <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>
 
|-
 
! <math>\boldsymbol{a_k}</math>
 
| <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>
 
|-
 
! <math>\boldsymbol{R_m(a_k)}</math>  
 
| <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>
 
|}
 
  
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>.
+
::::::::<math>\;\! = k \cdot 2^n + 2^n r + r^2 \cdot 2^{2 n - 2}</math>
  
 +
::::::::<math>\;\! = 2^n (k + r) + r^2 \cdot 2^{2 n - 2}</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ą).
+
::::::::<math>\;\! \equiv 0 \pmod{2^{n + 1}}</math>
  
::<math>m = 3 , \;\; (5 \, | \, 3) = - 1 , \;\; Q = - 1 , \;\; \gcd (m, Q) = 1</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>m = 5 , \;\; (5 \, | \, 5) = 0 , \;\; (- 7 \, | \, 5) = - 1 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1 \;\;</math> (zauważmy, że <math>(5 \, | \, 5) = 0</math> nie pozwala wnioskować o&nbsp;złożoności)
+
::<math>x^2 \equiv a \pmod{2^{n + 1}}</math>
  
::<math>m = 7 , \;\; (5 \, | \, 7) = - 1 , \;\; Q = - 1 , \;\; \gcd (m, Q) = 1</math>
+
Pokazaliśmy tym samym prawdziwość tezy indukcyjnej, co kończy dowód indukcyjny.<br/>
 
+
&#9633;
::<math>m = 9 , \;\; </math> (liczba kwadratowa)
+
{{\Spoiler}}
  
::<math>m = 11 , \;\; (- 11 \, | \, 11) = 0 , \;\; (13 \, | \, 11) = - 1 , \;\; Q = - 3 , \;\; \gcd (m, Q) = 1 \;\;</math> (zauważmy, że <math>(- 11 \, | \, 11) = 0</math> nie pozwala wnioskować o&nbsp;złożoności)
 
  
::<math>m = 13 , \;\; (5 \, | \, 13) = - 1 , \;\; Q = - 1 , \;\; \gcd (m, Q) = 1</math>
+
<span style="font-size: 110%; font-weight: bold;">Wniosek J41</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>.
  
::<math>m = 15 , \;\; \boldsymbol{(5 \, | \, 15) = 0} , \;\; (13 \, | \, 15) = - 1 , \;\; Q = - 3 , \;\; \gcd (m, Q) = 3 \;\;</math> (gdyby nie zbadano złożoności)
 
  
::<math>m = 17 , \;\; (5 \, | \, 17) = - 1 , \;\; Q = - 1 , \;\; \gcd (m, Q) = 1</math>
 
  
::<math>m = 19 , \;\; (- 7 \, | \, 19) = - 1 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1</math>
+
<span style="font-size: 110%; font-weight: bold;">Uwaga J42</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 J2 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>m = 21 , \;\; \boldsymbol{(- 7 \, | \, 21) = 0} , \;\; (- 11 \, | \, 21) = - 1 , \;\; Q = 3 , \;\; \gcd (m, Q) = 3 \;\;</math> (gdyby nie zbadano złożoności)
+
::<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>
  
 +
Z definicji J23, twierdzeń J38 i&nbsp;J40, uwagi J39 i&nbsp;wniosku J41 otrzymujemy
  
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 \, | \, m) = - 1</math>. Warunek <math>(a_k \, | \, m) = 0</math> oznacza, że <math>(2 k + 1 \, | \, m) = 0</math>, bo
 
  
::<math>(a_k \, | \, m) = ((- 1)^k (2 k + 1) \, | \, m) = ((- 1)^k \, | \, m) \cdot (2 k + 1 \, | \, m) = (- 1 \, | \, m)^k \cdot (2 k + 1 \, | \, m) = \pm (2 k + 1 \, | \, m)</math>
 
  
Jeżeli będą spełnione warunki <math>(a_k \, | \, m) = 0</math> i <math>R_m (a_k) \neq 0</math>, to liczba <math>m</math> będzie liczbą złożoną.
+
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J43</span><br/>
 +
Niech <math>m \in \mathbb{Z}_+</math> i <math>\gcd (a, m) = 1</math>. Kongruencja
  
Wypiszmy kolejne próby dla <math>m \geqslant 23</math>. Liczba <math>r</math> jest numerem próby.
+
::<math>x^2 \equiv a \pmod{m}</math>
  
::<math>r = 1 , \;\; a_{r + 1} = 5</math>
+
ma rozwiązanie wtedy i&nbsp;tylko wtedy, gdy
  
 
::{| border="0"  
 
::{| border="0"  
|-style=height:2em
+
|-style=height:1em
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(5 \, | \, m) = 1</math> || <math>5 \nmid m \quad</math> || przechodzimy do kolejnego wyrazu ciągu <math>(a_k)</math>
+
| &#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:2em
+
|-style=height:1em
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(5 \, | \, m) = 0</math> || <math>5 \, | \, m</math> || '''koniec'''
+
| &#9679;&nbsp;&nbsp;&nbsp; jeżeli&nbsp; <math>8 \, | \, m</math>, &nbsp;to&nbsp; <math>8 \, | \, ( a - 1 )</math>
|-style=height:2em
+
|-style=height:2.5em
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(5 \, | \, m) = - 1 \quad</math> || <math>5 \nmid m</math> || <math>D = 5 , \;\; Q = - 1 , \;\; \gcd (m, Q) = 1 , \;\;</math> '''koniec'''
+
| &#9679;&nbsp;&nbsp;&nbsp; jeżeli&nbsp; <math>8 \nmid m</math>, &nbsp;ale&nbsp; <math>4 \, | \, m</math>, &nbsp;to&nbsp; <math>4 \, | \, ( a - 1 )</math>
 
|}
 
|}
  
::<math>r = 2 , \;\; a_{r + 1} = - 7</math>
 
  
::{| border="0"
 
|-style=height:2em
 
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(- 7 \, | \, 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 \, | \, m) = 0</math> || <math>7 \, | \, m</math> || '''koniec'''
 
|-style=height:2em
 
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(- 7 \, | \, 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>
+
<span style="font-size: 110%; font-weight: bold;">Zadanie J44</span><br/>
 +
Rozwiązać kongruencję, gdzie <math>p</math> jest liczbą pierwszą nieparzystą
 +
 
 +
::<math>x^2 + rx + s \equiv 0 \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
 +
 
 +
::<math>4 x^2 + 4 rx + 4 s \equiv 0 \pmod{p}</math>
  
::{| border="0"
+
::<math>(2 x + r)^2 - r^2 + 4 s \equiv 0 \pmod{p}</math>
|-style=height:2em
 
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(9 \, | \, 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 \, | \, m) = 0</math> || <math>3 \, | \, m</math> || '''koniec'''
 
|-style=height:2em
 
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(9 \, | \, m) \neq - 1 \quad</math> || - - - - || bo <math>9</math> jest liczbą kwadratową
 
|}
 
  
 +
::<math>(2 x + r)^2 \equiv r^2 - 4 s \pmod{p}</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>.
+
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
  
::<math>r</math>-ta próba, gdzie <math>r \geqslant 4 , \;\;</math> wyraz <math>a_{r + 1}</math>
+
::<math>(2 x + r)^2 \equiv b^2 \pmod{p}</math>
  
::{| border="0"
+
::<math>2 x + r \equiv \pm b \pmod{p}</math>
|-style=height:2em
 
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(a_{r + 1} \, | \, 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>
 
|-style=height:2em
 
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(a_{r + 1} \, | \, m) = 0</math> || A. jeżeli <math>m \, | \, 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} \, | \, m</math><sup>( ** )</sup>, '''koniec'''
 
|-style=height:2em
 
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(a_{r + 1} \, | \, 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'''
 
|}
 
  
<sup>( * )</sup> jest to możliwe tylko dla <math>a_{r + 1} = a_{(m - 1) / 2} = m</math>
+
::<math>x \equiv {\small\frac{p + 1}{2}} \cdot (- r \pm b) \pmod{p}</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>
+
Jeśli <math>r^2 - 4 s</math> nie jest liczbą kwadratową modulo <math>p</math>, to kongruencja
  
 +
::<math>(2 x + r)^2 \equiv r^2 - 4 s \pmod{p}</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
+
nie ma rozwiązania. Wynika stąd, że równoważna jej kongruencja
  
::<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>x^2 + rx + s \equiv 0 \pmod{p}</math>
  
Przedostatnia (ostra) nierówność jest prawdziwa dla wszystkich <math>r</math> naturalnych.<br/>
+
również nie ma rozwiązania.<br/>
 
&#9633;
 
&#9633;
 
{{\Spoiler}}
 
{{\Spoiler}}
Linia 1371: Linia 1301:
  
  
<span style="font-size: 110%; font-weight: bold;">Zadanie L31</span><br/>
+
<span style="font-size: 110%; font-weight: bold;">Zadanie J45</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 \, | \, 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>.
+
Rozwiązać kongruencję
 +
 
 +
::<math>5 x^2 + 6 x + 8 \equiv 0 \pmod{19}</math>
  
 
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Rozwiązanie|Hide=Ukryj rozwiązanie}}
 
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Rozwiązanie|Hide=Ukryj rozwiązanie}}
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ą).
+
Mnożąc obie strony kongruencji przez <math>4</math>, otrzymujemy
  
::<math>m = 3 , \;\; (- 7 \, | \, 3) = - 1 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1</math>
+
::<math>x^2 + 24 x + 32 \equiv 0 \pmod{19}</math>
  
::<math>m = 5 , \;\; (- 7 \, | \, 5) = - 1 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1</math>
+
::<math>x^2 + 5 x + 13 \equiv 0 \pmod{19}</math>
  
::<math>m = 7 , \;\; (- 7 \, | \, 7) = 0 , \;\; (- 11 \, | \, 7) = - 1 , \;\; Q = 3 , \;\; \gcd (m, Q) = 1</math> (zauważmy, że <math>(- 7 \, | \, 7) = 0</math> nie pozwala wnioskować o&nbsp;złożoności)
+
::<math>4 x^2 + 4 \cdot 5 x + 4 \cdot 13 \equiv 0 \pmod{19}</math>
  
::<math>m = 9 , \;\; </math> (liczba kwadratowa)
+
::<math>(2 x + 5)^2 - 25 + 52 \equiv 0 \pmod{19}</math>
  
::<math>m = 11 , \;\; (- 11 \, | \, 11) = 0 , \;\; (13 \, | \, 11) = - 1 , \;\; Q = - 3 , \;\; \gcd (m, Q) = 1 \;\;</math> (zauważmy, że <math>(- 11 \, | \, 11) = 0</math> nie pozwala wnioskować o&nbsp;złożoności)
+
::<math>(2 x + 5)^2 - 6 + 14 \equiv 0 \pmod{19}</math>
  
::<math>m = 13 , \;\; (- 7 \, | \, 13) = - 1 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1</math>
+
::<math>(2 x + 5)^2 \equiv - 8 \pmod{19}</math>
  
::<math>m = 15 , \;\; \boldsymbol{(9 \, | \, 15) = 0} , \;\; (13 \, | \, 15) = - 1 , \;\; Q = - 3 , \;\; \gcd (m, Q) = 3 \;\;</math> (gdyby nie zbadano złożoności)
+
::<math>(2 x + 5)^2 \equiv 7^2 \pmod{19}</math>
  
::<math>m = 17 , \;\; (- 7 \, | \, 17) = - 1 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1</math>
+
::<math>2 x + 5 \equiv \pm 7 \pmod{19}</math>
  
::<math>m = 19 , \;\; (- 7 \, | \, 19) = - 1 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1</math>
+
::<math>2 x \equiv - 5 \pm 7 \pmod{19}</math>
  
::<math>m = 21 , \;\; \boldsymbol{(- 7 \, | \, 21) = 0} , \;\; (- 11 \, | \, 21) = - 1 , \;\; Q = 3 , \;\; \gcd (m, Q) = 3 \;\;</math> (gdyby nie zbadano złożoności)
+
Mnożąc obie strony kongruencji przez <math>10</math>, otrzymujemy: <math>x \equiv 13 \pmod{19}</math> lub <math>x \equiv 1 \pmod{19}</math>.
  
 +
Nieco spostrzegawczości pozwala znaleźć rozwiązanie kongruencji natychmiast. W&nbsp;naszym przypadku wystarczyło zauważyć, że
  
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 \, | \, m) = - 1</math>. Warunek <math>(a_k \, | \, m) = 0</math> oznacza, że <math>(2 k + 1 \, | \, m) = 0</math>, bo
+
::<math>x^2 + 5 x + 13 \equiv x^2 - 14 x + 13 \equiv (x - 1) (x - 13) \pmod{19}</math><br/>
 +
&#9633;
 +
{{\Spoiler}}
  
::<math>(a_k \, | \, m) = ((- 1)^k (2 k + 1) \, | \, m) = ((- 1)^k \, | \, m) \cdot (2 k + 1 \, | \, m) = (- 1 \, | \, m)^k \cdot (2 k + 1 \, | \, m) = \pm (2 k + 1 \, | \, m)</math>
 
  
Jeżeli będą spełnione warunki <math>(a_k \, | \, m) = 0</math> i <math>R_m (a_k) \neq 0</math>, to liczba <math>m</math> będzie liczbą złożoną.
 
  
Wypiszmy kolejne próby dla <math>m \geqslant 23</math>. Liczba <math>r</math> jest numerem próby.
 
  
::<math>r = 1 , \;\; a_{r + 2} = - 7</math>
 
  
::{| border="0"
+
== Najmniejsze liczby niekwadratowe modulo ==
|-style=height:2em
 
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(- 7 \, | \, 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 \, | \, m) = 0</math> || <math>7 \, | \, m</math> || '''koniec'''
 
|-style=height:2em
 
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(- 7 \, | \, 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>
+
<span style="font-size: 110%; font-weight: bold;">Uwaga J46</span><br/>
 +
Najmniejsze liczby niekwadratowe modulo przedstawiamy Czytelnikowi jedynie jako pewną ciekawostkę. Jednocześnie jest to nietrudny temat, który pozwala lepiej poznać i&nbsp;zrozumieć liczby kwadratowe modulo, liczby niekwadratowe modulo, symbol Legendre'a i&nbsp;symbol Jacobiego.
  
::{| border="0"
 
|-style=height:2em
 
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(9 \, | \, 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 \, | \, m) = 0</math> || <math>3 \, | \, m</math> || '''koniec'''
 
|-style=height:2em
 
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(9 \, | \, m) \neq - 1 \quad</math> || - - - - || bo <math>9</math> jest liczbą kwadratową
 
|}
 
  
::<math>r = 3 , \;\; a_{r + 2} = - 11</math>
 
 
::{| border="0"
 
|-style=height:2em
 
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(- 11 \, | \, 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 \, | \, m) = 0</math> || <math>11 \, | \, m</math> || '''koniec'''
 
|-style=height:2em
 
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(- 11 \, | \, 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>
 
  
::{| border="0"
+
{| style="border-spacing: 5px; border: 2px solid black; background: transparent;"
|-style=height:2em
+
| &nbsp;'''A.''' Najmniejsze liczby niekwadratowe modulo <math>p</math>&nbsp;
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(13 \, | \, 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 \, | \, m) = 0</math> || <math>13 \, | \, m</math> || '''koniec'''
 
|-style=height:2em
 
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(13 \, | \, 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>
+
<span style="font-size: 110%; font-weight: bold;">Przykład J47</span><br/>
 +
W tabeli przedstawiliśmy najmniejsze liczby niekwadratowe modulo <math>p</math>
  
::{| border="0"  
+
::{| class="wikitable plainlinks" style="font-size: 100%; text-align: center; margin-right: auto;"
|-style=height:2em
+
! <math>\boldsymbol{m}</math>
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(- 15 \, | \, m) = 1</math> || <math>5 \nmid m \quad</math> || przechodzimy do kolejnego wyrazu ciągu <math>(a_k)</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> || <math>43</math> || <math>45</math> || <math>47</math> || <math>49</math> || <math>51</math>
|-style=height:2em
+
|-
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(- 15 \, | \, m) = 0</math> || <math>5 \, | \, m</math> || '''koniec'''
+
!  <math>\boldsymbol{g( p )}</math>  
|-style=height:2em
+
| <math>2</math> || <math>2</math> || <math>3</math> || <math>-</math> || <math>2</math> || <math>2</math> || <math>-</math> || <math>3</math> || <math>2</math> || <math>-</math> || <math>5</math> || <math>-</math> || <math>-</math> || <math>2</math> || <math>3</math> || <math>-</math> || <math>-</math> || <math>2</math> || <math>-</math> || <math>3</math> || <math>2</math> || <math>-</math> || <math>5</math> || <math>-</math> || <math>-</math>
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(- 15 \, | \, m) = - 1 \quad</math> || <math>5 \nmid m</math> || <math>D = - 15 , \;\; Q = 4 , \;\; \gcd (m, Q) = 1 , \;\;</math> '''koniec'''
 
 
|}
 
|}
  
  
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>r</math>-ta próba, gdzie <math>r \geqslant 6 , \;\;</math> wyraz <math>a_{r + 2}</math>
+
<span style="font-size: 110%; font-weight: bold;">Uwaga J48</span><br/>
 +
Do wyszukiwania liczb <math>g = g (p)</math> Czytelnik może wykorzystać prostą funkcję napisaną w&nbsp;PARI/GP
  
::{| border="0"
+
<span style="font-size: 90%; color:black;">A(p) =  
|-style=height:2em
+
{
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(a_{r + 2} \, | \, 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>
+
  '''if'''( p == 2, '''return'''(0) );
|-style=height:2em
+
'''if'''( !'''isprime'''(p), '''return'''(0) );
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(a_{r + 2} \, | \, m) = 0</math> || A. jeżeli <math>m \, | \, 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} \, | \, m</math><sup>( ** )</sup>, '''koniec'''
+
'''forprime'''(q = 2, p, '''if'''( jacobi(q, p) == -1, '''return'''(q) ));
|-style=height:2em
+
}</span>
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(a_{r + 2} \, | \, 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>
+
Zauważmy, że choć wyliczamy symbol Jacobiego, to jest to w&nbsp;rzeczywistości symbol Legendre'a, '''bo wiemy''', że liczba <math>p</math> jest liczbą pierwszą (w przypadku, gdy <math>p</math> jest liczbą złożoną, funkcja zwraca zero).
  
<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>
 
  
  
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
+
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J49</span><br/>
 +
Niech <math>g \in \mathbb{Z}_+</math> i&nbsp;niech <math>p</math> będzie liczbą pierwszą nieparzystą. Jeżeli <math>g</math> jest najmniejszą liczbą niekwadratową modulo <math>p</math>, to jest liczbą pierwszą.
  
::<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>
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 +
Przypuśćmy, że <math>g = a b</math> jest liczbą złożoną, gdzie <math>1 < a, b < g</math>. Z&nbsp;założenia <math>g</math> jest najmniejszą liczbą niekwadratową modulo <math>p</math>, zatem liczby <math>a, b</math> są liczbami kwadratowymi modulo <math>p</math>. Z&nbsp;definicji liczb kwadratowych muszą istnieć takie liczby <math>r, s</math>, że
  
Przedostatnia (ostra) nierówność jest prawdziwa dla wszystkich <math>r</math> naturalnych.<br/>
+
::<math>r^2 \equiv a \pmod{p}</math>
&#9633;
 
{{\Spoiler}}
 
  
 +
::<math>s^2 \equiv b \pmod{p}</math>
  
 +
Skąd wynika, że
  
<span style="font-size: 110%; font-weight: bold;">Uwaga L32</span><br/>
+
::<math>g = a b \equiv (r s)^2 \pmod{p}</math>
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
 
  
<span style="font-size: 90%; color:black;">LucasTest(m) =
+
Wbrew założeniu, że <math>g</math> jest liczbą niekwadratową modulo <math>p</math>.<br/>
{
+
&#9633;
'''local'''(P, Q, X);
+
{{\Spoiler}}
'''if'''( m % 2 == 0, '''return'''(m == 2) );
 
'''if'''( '''issquare'''(m), '''return'''(0) ); \\ sprawdzamy, czy m nie jest liczbą kwadratową
 
X = MethodA(m);
 
P = X[1];
 
Q = X[2];
 
'''if'''( P == 0, '''return'''(0) ); \\ jeżeli P = 0, to m jest liczbą złożoną
 
'''if'''( modLucas(m + 1, P, Q, m)[1] == 0, '''return'''(1), '''return'''(0) );
 
}</span>
 
  
  
  
<span style="font-size: 110%; font-weight: bold;">Uwaga L33</span><br/>
+
<span style="font-size: 110%; font-weight: bold;">Zadanie J50</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
+
Pokazać, że najmniejszą liczbą niekwadratową modulo <math>p</math> jest
  
::<math>323, 377, 1159, 1829, 3827, 5459, 5777, 9071, 9179, 10877, 11419, 11663, 13919, 14839, 16109, 16211, 18407, 18971, 19043, 22499, \ldots</math>
+
:* &nbsp;liczba <math>2</math> wtedy i&nbsp;tylko wtedy, gdy <math>p = 8 k \pm 3</math>
 +
:* &nbsp;liczba <math>3</math> wtedy i&nbsp;tylko wtedy, gdy <math>p = 24 k \pm 7</math>
 +
:* &nbsp;liczba <math>\geqslant 5</math> wtedy i&nbsp;tylko wtedy, gdy <math>p = 24 k \pm 1</math>
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Pokaż kod|Hide=Ukryj kod}}
+
{{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;">'''forstep'''(k=1, 3*10^4, 2, '''if'''( LucasTest(k) && !'''isprime'''(k), '''print'''(k)) )</span>
+
Z właściwości symbolu Legendre'a (zobacz J25 p.7) wiemy, że
<br/>
 
{{\Spoiler}}
 
  
 +
::<math>\left( {\small\frac{2}{p}} \right)_{\small{\!\! L}} \,\, =
 +
\,\,
 +
  \begin{cases}
 +
\;\;\: 1 & \text{gdy } p \equiv 1, 7 \pmod{8} \\
 +
      - 1 & \text{gdy } p \equiv 3, 5 \pmod{8}
 +
  \end{cases}</math>
  
 +
Wynika stąd natychmiast, dla liczb pierwszych <math>p</math> postaci <math>8 k \pm 3</math> (i tylko dla takich liczb) liczba <math>2</math> jest liczbą niekwadratową, czyli również najmniejszą liczbą niekwadratową modulo <math>p</math>.
  
Tabela przedstawia ilość takich liczb nie większych od <math>10^n</math>
+
Z zadania J35 wynika, że liczba <math>3</math> jest liczbą niekwadratową jedynie dla liczb pierwszych postaci <math>12 k \pm 5</math>. Zatem dla liczb pierwszych, które są jednocześnie postaci <math>p = 8 k \pm 1</math> i <math>p = 12 j \pm 5</math>, liczba <math>3</math> jest najmniejszą liczbą niekwadratową modulo <math>p</math>. Z&nbsp;czterech warunków
 
 
::{| 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}}
 
<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}}
 
 
 
  
 +
::<math>p = 8 k + 1 \quad \text{i} \quad p = 12 j + 5</math>
  
 +
::<math>p = 8 k + 1 \quad \text{i} \quad p = 12 j + 7</math>
  
 +
::<math>p = 8 k + 7 \quad \text{i} \quad p = 12 j + 5</math>
  
== Liczby silnie pseudopierwsze Lucasa ==
+
::<math>p = 8 k + 7 \quad \text{i} \quad p = 12 j + 7</math>
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie L34</span><br/>
+
Drugi i&nbsp;trzeci nie są możliwe, bo modulo <math>4</math> otrzymujemy
Jeżeli <math>p</math> jest liczbą pierwszą nieparzystą taką, że <math>\gcd (p, Q D) = 1</math> oraz <math>p - (D \, | \, 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>p \equiv 1 \pmod{4} \quad \text{i} \quad p \equiv 3 \pmod{4}</math>
  
lub
+
::<math>p \equiv 3 \pmod{4} \quad \text{i} \quad p \equiv 1 \pmod{4}</math>
  
::<math>V_{2^k w} \equiv 0 \pmod{p} \qquad</math> dla pewnego <math>k \in [0, r - 1]</math>
+
a z&nbsp;pierwszego i&nbsp;czwartego mamy
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
+
::<math>3 p = 24 k + 3 \quad \text{i} \quad 2 p = 24 j + 10 \qquad \;\: \Longrightarrow \qquad p = 24 (k - j) - 7 \qquad \Longrightarrow \qquad p \equiv - 7 \pmod{24}</math>
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 \, | \, U_{p - (D \, | \, p)}</math>. Z&nbsp;założenia jest <math>p - (D \, | \, p) = 2^r w</math>, zatem <math>p \, | \, 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>3 p = 24 k + 21 \quad \text{i} \quad 2 p = 24 j + 14 \qquad \Longrightarrow \qquad p = 24 (k - j) + 7 \qquad \Longrightarrow \qquad p \equiv 7 \pmod{24}</math>
  
::{| border="0"
+
Zauważmy, że problem mogliśmy zapisać w&nbsp;postaci układu kongruencji
|-style=height:3em
 
| &#9679;&nbsp;&nbsp;&nbsp; || <math>p \, | \, U_{2^r w} \;\; \Longleftrightarrow \;\; p \, | \, U_{2^{r - 1} w} \cdot V_{2^{r - 1} w} \quad</math> || Jeżeli <math>p \, | \, V_{2^{r - 1} w}</math>, to twierdzenie jest dowiedzione. Jeżeli <math>p \nmid V_{2^{r - 1} w}</math>, to <math>p \, | \, U_{2^{r - 1} w}</math>.
 
|-style=height:3em
 
| &#9679;&nbsp;&nbsp;&nbsp; || <math>p \, | \, U_{2^{r - 1} w} \;\; \Longleftrightarrow \;\; p \, | \, U_{2^{r - 2} w} \cdot V_{2^{r - 2} w} \quad</math> || Jeżeli <math>p \, | \, V_{2^{r - 2} w}</math>, to twierdzenie jest dowiedzione. Jeżeli <math>p \nmid V_{2^{r - 2} w}</math>, to <math>p \, | \, U_{2^{r - 2} w}</math>.
 
|-style=height:3em
 
| &#9679;&nbsp;&nbsp;&nbsp; || <math>.................</math> ||
 
|-style=height:3em
 
| &#9679;&nbsp;&nbsp;&nbsp; || <math>p \, | \, U_{4 w} \;\; \Longleftrightarrow \;\; p \, | \, U_{2 w} \cdot V_{2 w}</math> || Jeżeli <math>p \, | \, V_{2 w}</math>, to twierdzenie jest dowiedzione. Jeżeli <math>p \nmid V_{2 w}</math>, to <math>p \, | \, U_{2 w}</math>.
 
|-style=height:3em
 
| &#9679;&nbsp;&nbsp;&nbsp; || <math>p \, | \, U_{2 w} \;\; \Longleftrightarrow \;\; p \, | \, U_w \cdot V_w</math> || Jeżeli <math>p \, | \, V_w</math>, to twierdzenie jest dowiedzione. Jeżeli <math>p \nmid V_w</math>, to <math>p \, | \, U_w</math>.
 
|}
 
  
Z powyższego wynika, że musi być spełniony jeden z wypisanych w twierdzeniu warunków.
+
::<math>p \equiv \pm 1 \pmod{8}</math>
  
 +
::<math>p \equiv \pm 5 \pmod{12}</math>
  
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>.
+
Gdyby moduły tych kongruencji były względnie pierwsze, to każdemu wyborowi znaków odpowiadałaby pewna kongruencja równoważna (zobacz J2). Widzimy, że w&nbsp;przypadku, gdy moduły nie są względnie pierwsze, kongruencja równoważna może istnieć, ale nie musi. Rozwiązując taki problem, wygodnie jest skorzystać z&nbsp;programu PARI/GP. Wystarczy wpisać
  
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:
+
chinese(Mod(1, 8), Mod(5, 12)) = Mod(17, 24)
 +
chinese(Mod(1, 8), Mod(-5, 12)) - błąd
 +
chinese(Mod(-1, 8), Mod(5, 12)) - błąd
 +
chinese(Mod(-1, 8), Mod(-5, 12)) = Mod(7, 24)
  
::{| border="0"
+
Ostatni punkt zadania rozwiążemy tą metodą. Liczba większa lub równa <math>5</math> jest najmniejszą liczbą niekwadratową modulo <math>p</math> wtedy i&nbsp;tylko wtedy, gdy liczby <math>2</math> i <math>3</math> są liczbami kwadratowymi modulo <math>p</math>, co oznacza, że liczba pierwsza <math>p</math> spełnia kongruencje
|-style=height:3em
 
| &#9679;&nbsp;&nbsp;&nbsp; || jeżeli <math>p \, | \, 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>
 
|}
 
  
 +
::<math>p \equiv \pm 1 \pmod{8}</math>
  
Co dowodzi, że spełniony jest dokładnie jeden z <math>r + 1</math> warunków:
+
::<math>p \equiv \pm 1 \pmod{12}</math>
  
::<math>U_w \equiv 0 \pmod{p}</math>
+
Postępując jak wyżej, otrzymujemy
  
::<math>V_{2^k w} \equiv 0 \pmod{p} \qquad</math> gdzie <math>k \in [0, r - 1]</math>
+
chinese(Mod(1, 8), Mod(1, 12)) = Mod(1, 24)
 +
chinese(Mod(1, 8), Mod(-1, 12)) - błąd
 +
chinese(Mod(-1, 8), Mod(1, 12)) - błąd
 +
chinese(Mod(-1, 8), Mod(-1, 12)) = Mod(23, 24)
  
 
Co należało pokazać.<br/>
 
Co należało pokazać.<br/>
Linia 1598: Linia 1471:
  
  
Konsekwentnie definiujemy liczby pseudopierwsze<br/>
+
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J51</span><br/>
<span style="font-size: 110%; font-weight: bold;">Definicja L35</span><br/>
+
Niech <math>p</math> będzie liczbą pierwszą nieparzystą, a <math>g</math> będzie najmniejszą liczbą niekwadratową modulo <math>p</math>. Prawdziwe jest oszacowanie
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 \, | \, 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>g (p) < \sqrt{p} + {\small\frac{1}{2}}</math>
  
lub
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 +
Ponieważ <math>g \nmid p</math>, to z&nbsp;oszacowania <math>x - 1 < \lfloor x \rfloor \leqslant x</math> wynika, że
  
::<math>V_{2^k w} \equiv 0 \pmod{m} \;</math> dla pewnego <math>k \in [0, r - 1]</math>
+
::<math>{\small\frac{p}{g}} - 1 < \left\lfloor {\small\frac{p}{g}} \right\rfloor < {\small\frac{p}{g}}</math>
  
 +
::<math>p < g \left\lfloor {\small\frac{p}{g}} \right\rfloor + g < p + g</math>
  
 +
Niech <math>u = \left\lfloor {\small\frac{p}{g}} \right\rfloor + 1</math>, mamy
  
<span style="font-size: 110%; font-weight: bold;">Uwaga L36</span><br/>
+
::<math>0 < g u - p < g</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, J35, 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) =
+
Liczba <math>g u - p</math> musi być liczbą kwadratową modulo <math>p</math>, zatem
{
 
'''local'''(a, b, c, D, js, k, r, w, X);
 
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>
 
  
 +
::<math>1 = \left( {\small\frac{g u - p}{p}} \right)_{\small{\!\! L}} = \left( {\small\frac{g}{p}} \right)_{\small{\!\! L}} \cdot \left( {\small\frac{u}{p}} \right)_{\small{\!\! L}} = - \left( {\small\frac{u}{p}} \right)_{\small{\!\! L}}</math>
  
 +
Ale z&nbsp;założenia <math>g</math> jest najmniejszą liczbą taką, że <math>\left( {\small\frac{g}{p}} \right)_{\small{\!\! L}} = - 1</math>. Wynika stąd, że musi być <math>g \leqslant u</math> i&nbsp;łatwo znajdujemy, że
  
<span style="font-size: 110%; font-weight: bold;">Przykład L37</span><br/>
+
::<math>g \leqslant \left\lfloor {\small\frac{p}{g}} \right\rfloor + 1 < {\small\frac{p}{g}} + 1</math>
Poniższa tabela zawiera najmniejsze liczby silnie pseudopierwsze Lucasa dla różnych parametrów <math>P</math> i <math>Q</math>
 
  
::{| class="wikitable plainlinks"  style="font-size: 100%; text-align: right; margin-right: auto;"
+
::<math>g^2 < p + g</math>
! &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}}
+
Ponieważ wypisane liczby są liczbami całkowitymi, to ostatnią nierówność możemy zapisać w&nbsp;postaci
<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 \, | \, m) = - 1</math>.
+
::<math>g^2 \leqslant p + g - 1</math>
  
 +
Skąd otrzymujemy
  
 +
::<math>\left( g - {\small\frac{1}{2}} \right)^2 \leqslant p - {\small\frac{3}{4}}</math>
  
<span style="font-size: 110%; font-weight: bold;">Przykład L38</span><br/>
+
::<math>g \leqslant {\small\frac{1}{2}} + \sqrt{p - {\small\frac{3}{4}}} < {\small\frac{1}{2}} + \sqrt{p}</math>
Ilość liczb SLPSP(<math>P, Q</math>) mniejszych od <math>10^9</math>
 
  
::{| class="wikitable plainlinks"  style="font-size: 100%; text-align: right; margin-right: auto;"
+
Co należało pokazać.<br/>
! &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<math>\boldsymbol{P}</math><br/><math>\boldsymbol{Q}</math>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
&#9633;
! <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>
 
|}
 
 
 
 
 
 
 
{{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}}
 
{{\Spoiler}}
  
  
  
<span style="font-size: 110%; font-weight: bold;">Uwaga L39</span><br/>
+
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J52*</span><br/>
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
+
Niech <math>p</math> będzie liczbą pierwszą nieparzystą, a <math>g</math> będzie najmniejszą liczbą niekwadratową modulo <math>p</math>. Dla <math>p \geqslant 5</math> prawdziwe jest oszacowanie<ref name="Norton1"/><ref name="Trevino1"/><ref name="Trevino2"/>
  
:* <math>0 \leqslant P, Q < m</math>
+
::<math>g (p) \leqslant 1.1 \cdot p^{1 / 4} \log p</math>
:* <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>.
 
  
Nie dotyczy to przypadku, gdy <math>m = p (p + 2)</math> jest iloczynem liczb pierwszych bliźniaczych takich, że <math>(D \, | \, p) = - (D \, | \, 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ą.
 
  
 +
<span style="font-size: 110%; font-weight: bold;">Uwaga J53</span><br/>
 +
Liczby <math>g = g (p)</math> są zaskakująco małe. Średnia wartość <math>g = g (p)</math>, gdzie <math>p</math> są nieparzystymi liczbami pierwszymi, jest równa<ref name="Erdos1"/>
  
 +
::<math>\lim_{x \to \infty} {\small\frac{1}{\pi (x)}} \sum_{p \leqslant x} g (p) = \sum_{k = 1}^{\infty} {\small\frac{p_k}{2^k}} = 3.674643966 \ldots</math>
  
<span style="font-size: 110%; font-weight: bold;">Uwaga L40</span><br/>
 
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 \, | \, m)</math> jest równy <math>- 1</math>.
 
  
<span style="font-size: 90%; color:black;">StrongLucasTest(m) =
 
{
 
'''local'''(a, b, c, k, P, Q, r, w, X);
 
'''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>
 
  
  
  
<span style="font-size: 110%; font-weight: bold;">Uwaga L41</span><br/>
+
{| style="border-spacing: 5px; border: 2px solid black; background: transparent;"
Najmniejsze liczby silnie pseudopierwsze Lucasa, które otrzymujemy po zastosowaniu metody Selfridge'a wyboru parametrów <math>P</math> i <math>Q</math>, to
+
| &nbsp;'''B.''' Najmniejsze liczby niekwadratowe modulo <math>m</math>, gdzie <math>m</math> jest liczbą nieparzystą&nbsp;
 +
|}
  
::<math>5459, 5777, 10877, 16109, 18971, 22499, 24569, 25199, 40309, 58519, 75077, 97439, \ldots</math>
+
<span style="font-size: 110%; font-weight: bold;">Uwaga J54</span><br/>
 +
Najmniejsze liczby niekwadratowe modulo <math>m</math> są naturalnym uogólnieniem najmniejszych liczb niekwadratowych modulo <math>p</math>. W&nbsp;jednym i&nbsp;drugim przypadku liczba <math>g</math> jest najmniejszą liczbą niekwadratową w&nbsp;zbiorze wszystkich liczb niekwadratowych dodatnich nie większych od <math>p</math> lub <math>m</math>. Dlatego będziemy je oznaczali również jako <math>g(m)</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;">'''forstep'''(k=1, 10^5, 2, '''if'''( StrongLucasTest(k) && !'''isprime'''(k), '''print'''(k)) )</span>
 
<br/>
 
{{\Spoiler}}
 
  
  
Tabela przedstawia ilość takich liczb nie większych od <math>10^n</math>
+
<span style="font-size: 110%; font-weight: bold;">Przykład J55</span><br/>
 +
W tabeli przedstawiliśmy najmniejsze liczby niekwadratowe modulo <math>p</math> i&nbsp;najmniejsze liczby niekwadratowe modulo <math>m</math>.
  
::{| class="wikitable plainlinks"  style="font-size: 90%; text-align: right; margin-right: auto;"
+
::{| class="wikitable plainlinks"  style="font-size: 100%; text-align: center; 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>
+
! <math>\boldsymbol{m}</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> || <math>43</math> || <math>45</math> || <math>47</math> || <math>49</math> || <math>51</math>
 +
|-
 +
! <math>\boldsymbol{g( p )}</math>  
 +
| <math>2</math> || <math>2</math> || <math>3</math> || <math>-</math> || <math>2</math> || <math>2</math> || <math>-</math> || <math>3</math> || <math>2</math> || <math>-</math> || <math>5</math> || <math>-</math> || <math>-</math> || <math>2</math> || <math>3</math> || <math>-</math> || <math>-</math> || <math>2</math> || <math>-</math> || <math>3</math> || <math>2</math> || <math>-</math> || <math>5</math> || <math>-</math> || <math>-</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>
+
!  <math>\boldsymbol{g( m )}</math>
 +
| <math>2</math> || <math>2</math> || <math>3</math> || <math>2</math> || <math>2</math> || <math>2</math> || <math>2</math> || <math>3</math> || <math>2</math> || <math>2</math> || <math>5</math> || <math>2</math> || <math>2</math> || <math>2</math> || <math>3</math> || <math>2</math> || <math>2</math> || <math>2</math> || <math>2</math> || <math>3</math> || <math>2</math> || <math>2</math> || <math>5</math> || <math>3</math> || <math>2</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;">'''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}}
 
  
  
 +
<span style="font-size: 110%; font-weight: bold;">Uwaga J56</span><br/>
 +
Do wyszukiwania liczb <math>g = g (m)</math> Czytelnik może wykorzystać prostą funkcję napisaną w&nbsp;PARI/GP
  
 +
<span style="font-size: 90%; color:black;">B(m) =
 +
{
 +
'''local'''(w);
 +
'''if'''( m%2 == 0, '''return'''(0) );
 +
'''forprime'''(p = 2, m, w = -1; '''for'''(k = 2, (m - 1)/2, '''if'''( k^2%m == p, w = 1; '''break'''() )); '''if'''( w == -1, '''return'''(p) ));
 +
}</span>
  
  
== Test BPSW ==
 
  
<span style="font-size: 110%; font-weight: bold;">Uwaga L42</span><br/>
+
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J57</span><br/>
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>:
+
Niech <math>m \in \mathbb{Z}_+</math> będzie liczbą nieparzystą. Jeżeli <math>g</math> jest najmniejszą liczbą niekwadratową modulo <math>m</math>, to <math>g</math> jest liczbą pierwszą.
  
<math>1373653, 1530787, 1987021, 2284453, 3116107, 5173601, 6787327, 11541307, 13694761, 15978007, 16070429,</math>
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 +
Przypuśćmy, że <math>g = a b</math> jest liczbą złożoną, gdzie <math>1 < a, b < g</math>. Z&nbsp;założenia <math>g</math> jest najmniejszą liczbą niekwadratową modulo <math>m</math>, zatem liczby <math>a, b</math> są liczbami kwadratowymi modulo <math>m</math>. Z&nbsp;definicji liczb kwadratowych muszą istnieć takie liczby <math>r, s</math>, że
  
<math>16879501, 25326001, 27509653, 27664033, 28527049, 54029741, 61832377, 66096253, 74927161, 80375707</math>
+
::<math>r^2 \equiv a \pmod{m}</math>
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Pokaż kod|Hide=Ukryj kod}}
+
::<math>s^2 \equiv b \pmod{m}</math>
<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>
 
<br/>
 
{{\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.
+
Skąd wynika, że
  
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.
+
::<math>g = a b \equiv (r s)^2 \pmod{m}</math>
  
Połączenie znanych nam już testów prowadzi do prostego programu
+
Wbrew założeniu, że <math>g</math> jest liczbą niekwadratową modulo <math>m</math>.<br/>
 +
&#9633;
 +
{{\Spoiler}}
  
<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;">Twierdzenie J58</span><br/>
 +
Niech <math>p</math> będzie liczbą pierwszą nieparzystą. Jeżeli <math>a</math> jest liczbą niekwadratową modulo <math>p</math> i <math>p \, | \, m</math>, to <math>a</math> jest liczbą niekwadratową modulo <math>m</math>.
  
Funkcja <code>BPSWtest(m)</code> kolejno sprawdza:
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 +
Wiemy, że liczba <math>a</math> jest liczbą kwadratową modulo <math>m</math> wtedy i&nbsp;tylko wtedy, gdy kongruencja
  
:* 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>
+
::<math>x^2 \equiv a \pmod{m}</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>
 
  
 +
ma rozwiązanie. Przypuśćmy, że liczba <math>a</math> jest liczbą kwadratową modulo <math>m</math>. Zatem istnieje taka liczba <math>k \in \mathbb{Z}</math>, że
  
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.
+
::<math>k^2 \equiv a \pmod{m}</math>
  
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).
+
Ponieważ z&nbsp;założenia <math>p \, | \, m</math>, to prawdziwa jest też kongruencja
  
 +
::<math>k^2 \equiv a \pmod{p}</math>
  
 +
co przeczy założeniu, że liczba <math>a</math> jest liczbą niekwadratową modulo <math>p</math>.<br/>
 +
&#9633;
 +
{{\Spoiler}}
  
  
  
== Uzupełnienia ==
+
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J59</span><br/>
 +
Jeżeli liczba <math>g = g (m)</math> jest najmniejszą liczbą niekwadratową modulo <math>m</math>, to istnieje taki dzielnik pierwszy <math>p</math> liczby <math>m</math>, że <math>g</math> jest najmniejszą liczbą niekwadratową modulo <math>p</math>.
  
&nbsp;
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 +
Przypuśćmy, że taki dzielnik pierwszy nie istnieje. Zatem mamy zbiór dzielników pierwszych liczby <math>m</math>: <math>\{ p_1, \ldots, p_s \}</math> i&nbsp;powiązany z&nbsp;dzielnikami pierwszymi <math>p_k</math> zbiór najmniejszych liczb niekwadratowych modulo <math>p_k</math>: <math>\{ g_1, \ldots, g_s \}</math>, z&nbsp;których każda jest liczbą niekwadratową modulo <math>m</math> (zobacz J58). Wynika stąd, że liczba <math>g = g (m)</math> musi być mniejsza od każdej z&nbsp;liczb <math>g_k</math>.
  
=== <span style="border-bottom:1px solid #000;">Pewne własności współczynników dwumianowych</span> ===
+
Z definicji liczba <math>g = g (m)</math> jest liczbą niekwadratową modulo <math>m</math>, co oznacza, że kongruencja
  
&nbsp;
+
::<math>x^2 \equiv g \pmod{m}</math>
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie L43</span><br/>
+
nie ma rozwiązania. Niech <math>m = p^{\alpha_1}_1 \cdot \ldots \cdot p^{\alpha_s}_s</math>. Zatem przynajmniej jedna z&nbsp;kongruencji
Jeżeli <math>p</math> jest liczbą pierwszą, to
 
  
::<math>\binom{p}{k} \equiv 0 \pmod{p}</math>
+
::<math>x^2 \equiv g \pmod{p^{\alpha_k}_k}</math>
  
dla każdego <math>k \in [1, p - 1]</math>.
+
musi nie mieć rozwiązania (zobacz J11). Z&nbsp;twierdzenia J38 wiemy, że wtedy 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 g \pmod{p_k}</math>
Ł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>
+
również nie ma rozwiązania. Zatem <math>g</math> jest liczbą niekwadratową modulo <math>p_k</math> i <math>g < g_k</math>, co przeczy definicji liczby <math>g_k</math>.<br/>
 
 
zatem <math>p \biggr\rvert \binom{p}{k}</math>. Co należało pokazać.<br/>
 
 
&#9633;
 
&#9633;
 
{{\Spoiler}}
 
{{\Spoiler}}
Linia 1920: Linia 1632:
  
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie L44</span><br/>
+
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J60</span><br/>
Jeżeli <math>p</math> jest liczbą pierwszą nieparzystą, to
+
Jeżeli <math>m = p^{\alpha_1}_1 \cdot \ldots \cdot p^{\alpha_s}_s</math>, to
  
::<math>\binom{p + 1}{k} \equiv 0 \pmod{p}</math>
+
::<math>g(m) = \min ( g (p_1), \ldots, g (p_s) )</math>
  
dla każdego <math>k \in [2, p - 1]</math>.
+
gdzie <math>g(m)</math> jest najmniejszą liczbą kwadratową modulo <math>m</math>, a <math>g(p_k)</math> są najmniejszymi liczbami kwadratowymi modulo <math>p_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}}
Jeżeli <math>k \in [2, p - 1]</math>, to modulo <math>p</math> dostajemy
+
Twierdzenie jest prostym wnioskiem z&nbsp;twierdzenia J59.<br/>
 
 
::<math>\binom{p + 1}{k} = \binom{p}{k} + \binom{p}{k - 1} \equiv 0 \pmod{p}</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/>
 
 
&#9633;
 
&#9633;
 
{{\Spoiler}}
 
{{\Spoiler}}
Linia 1938: Linia 1646:
  
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie L45</span><br/>
+
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J61</span><br/>
Jeżeli <math>p</math> jest liczbą pierwszą, to
+
Niech <math>m \in \mathbb{Z}_+</math> będzie liczbą nieparzystą, a <math>g(m)</math> jest najmniejszą liczbą niekwadratową modulo <math>m</math>. Prawdziwe są oszacowania
  
::<math>\binom{p - 1}{k} \equiv (- 1)^k \pmod{p}</math>
+
::<math>g(m) < \sqrt{m} + {\small\frac{1}{2}} \qquad \qquad \;\;\: \text{dla } m \geqslant 3</math>
  
dla każdego <math>k \in [0, p - 1]</math>.
+
::<math>g(m) \leqslant 1.1 \cdot m^{1 / 4} \log m \qquad \qquad \text{dla } m \geqslant 5</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 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
+
Niech <math>p</math> będzie dzielnikiem pierwszym liczby <math>m</math> takim, że <math>g(m) = g (p)</math> (z twierdzenia J59 wiemy, że taki dzielnik istnieje). Jeżeli prawdziwe jest oszacowanie <math>g(p) < F (p)</math>, gdzie <math>F(x)</math> jest funkcją rosnącą, to
 
 
::<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>
 
 
 
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>\binom{p - 1}{k} \equiv - \binom{p - 1}{k - 1}\pmod{p}</math>
 
 
 
Skąd otrzymujemy
 
  
::<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>g(m) = g (p) < F (p) \leqslant F (m)</math>
  
Co należało pokazać.<br/>
+
Podane w&nbsp;twierdzeniu oszacowania wynikają natychmiast z&nbsp;twierdzeń J51 i&nbsp;J52.<br/>
 
&#9633;
 
&#9633;
 
{{\Spoiler}}
 
{{\Spoiler}}
Linia 1964: Linia 1664:
  
  
<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>
+
{| style="border-spacing: 5px; border: 2px solid black; background: transparent;"
 +
| &nbsp;'''C.''' Najmniejsze dodatnie liczby niekwadratowe <math>a</math> takie, że <math>\left( {\small\frac{a}{m}} \right)_{\small{\!\! J}} = - 1</math>&nbsp;
 +
|}
 +
 
 +
<span style="font-size: 110%; font-weight: bold;">Przykład J62</span><br/>
 +
W tabeli przedstawiliśmy najmniejsze liczby niekwadratowe modulo <math>p</math>, najmniejsze liczby niekwadratowe modulo <math>m</math> i&nbsp;najmniejsze dodatnie liczby niekwadratowe <math>a</math> takie, że <math>\left( {\small\frac{a}{m}} \right)_{\small{\!\! J}} = - 1</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;"
Ze wzoru dwumianowego
+
! <math>\boldsymbol{m}</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> || <math>43</math> || <math>45</math> || <math>47</math> || <math>49</math> || <math>51</math>
 +
|-
 +
!  <math>\boldsymbol{g( p )}</math>
 +
| <math>2</math> || <math>2</math> || <math>3</math> || <math>-</math> || <math>2</math> || <math>2</math> || <math>-</math> || <math>3</math> || <math>2</math> || <math>-</math> || <math>5</math> || <math>-</math> || <math>-</math> || <math>2</math> || <math>3</math> || <math>-</math> || <math>-</math> || <math>2</math> || <math>-</math> || <math>3</math> || <math>2</math> || <math>-</math> || <math>5</math> || <math>-</math> || <math>-</math>
 +
|-
 +
!  <math>\boldsymbol{g( m )}</math>
 +
| <math>2</math> || <math>2</math> || <math>3</math> || <math>2</math> || <math>2</math> || <math>2</math> || <math>2</math> || <math>3</math> || <math>2</math> || <math>2</math> || <math>5</math> || <math>2</math> || <math>2</math> || <math>2</math> || <math>3</math> || <math>2</math> || <math>2</math> || <math>2</math> || <math>2</math> || <math>3</math> || <math>2</math> || <math>2</math> || <math>5</math> || <math>3</math> || <math>2</math>
 +
|-
 +
!  <math>\boldsymbol{c( m )}</math>
 +
| <math>2</math> || <math>2</math> || <math>3</math> || <math>-</math> || <math>2</math> || <math>2</math> || <math>7</math> || <math>3</math> || <math>2</math> || <math>2</math> || <math>5</math> || <math>-</math> || <math>2</math> || <math>2</math> || <math>3</math> || <math>5</math> || <math>2</math> || <math>2</math> || <math>7</math> || <math>3</math> || <math>2</math> || <math>2</math> || <math>5</math> || <math>-</math> || <math>2</math>
 +
|}
  
::<math>(a + b)^n = \sum_{k = 0}^{n} \binom{n}{k} a^{n - k} b^k</math>
 
  
z łatwością otrzymujemy
 
  
::<math>(1 + 1)^n = \sum_{k = 0}^{n} \binom{n}{k} = 2^n</math>
+
<span style="font-size: 110%; font-weight: bold;">Uwaga J63</span><br/>
 +
Do wyszukiwania liczb <math>c = c (m)</math> Czytelnik może wykorzystać prostą funkcję napisaną w&nbsp;PARI/GP
  
::<math>(1 - 1)^n = \sum_{k = 0}^{n} (- 1)^k \binom{n}{k} = 0</math>
+
<span style="font-size: 90%; color:black;">C(m) =  
 +
{
 +
'''if'''( m%2 == 0, '''return'''(0) );
 +
'''if'''( '''issquare'''(m), '''return'''(0) );
 +
'''forprime'''(p = 2, m, '''if'''( jacobi(p, m) == -1, '''return'''(p) ));
 +
}</span>
  
Obliczając sumę i&nbsp;różnicę powyższych wzorów mamy
 
  
::<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>
 
  
::<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>
+
<span style="font-size: 110%; font-weight: bold;">Uwaga J64</span><br/>
 +
Najmniejsze dodatnie liczby niekwadratowe <math>a</math> takie, że <math>\left( {\small\frac{a}{m}} \right)_{\small{\!\! J}} = - 1</math> oznaczyliśmy jako <math>c(m)</math>. Zauważmy, że są to liczby inne od <math>g(p)</math> i <math>g(m)</math>. Wystarczy zwrócić uwagę na występujące w&nbsp;tabeli liczby <math>g(p)</math>, <math>g(m)</math> i <math>c(m)</math> dla <math>m = 15, 33, 39</math>. Różnice wynikają z&nbsp;innej definicji liczb <math>c(m)</math> – jeżeli liczba <math>a</math> jest liczbą niekwadratową modulo <math>m</math>, to symbol Jacobiego <math>\left( {\small\frac{a}{m}} \right)_{\small{\!\! J}}</math> nie musi być równy <math>- 1</math>. I&nbsp;tak czasami bywa, co bardzo dobrze pokazuje powyższa tabela.
  
Skąd natychmiast wynika
+
Ponieważ <math>c(m)</math> nie zawsze będzie najmniejszą liczbą kwadratową modulo <math>m</math>, to mamy natychmiast oszacowanie: <math>c(m) \geqslant g (m)</math> (poza przypadkami, gdy <math>m = n^2</math>).
  
::<math>\underset{k \; \text{parzyste}}{\sum_{k = 0}^{n}} \binom{n}{k} = 2^{n - 1}</math>
+
Dla <math>c(m)</math> nie są prawdziwe oszacowania podane w&nbsp;twierdzeniu J51. Łatwo zauważamy, że
  
::<math>\underset{k \; \text{nieparzyste}}{\sum_{k = 1}^{n}} \binom{n}{k} = 2^{n - 1}</math>
+
::<math>c = c (15) = 7 > \sqrt{15} + {\small\frac{1}{2}} \approx 4.37</math>
  
Co należało pokazać.<br/>
+
::<math>c = c (39) = 7 > \sqrt{39} + {\small\frac{1}{2}} \approx 6.74</math>
&#9633;
 
{{\Spoiler}}
 
  
 +
::<math>c = c (105) = 11 > \sqrt{105} + {\small\frac{1}{2}} \approx 10.75</math>
  
 +
::<math>c = c (231) = 17 > \sqrt{231} + {\small\frac{1}{2}} \approx 15.7</math>
  
 +
Nie ma więcej takich przypadków dla <math>m < 10^9</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> ===
 
  
&nbsp;
+
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J65</span><br/>
 +
Niech <math>c, m \in \mathbb{Z}_+</math> i&nbsp;niech <math>m \geqslant 3</math> będzie liczbą nieparzystą, a <math>c</math> będzie najmniejszą liczbą taką, że <math>\left( {\small\frac{c}{m}} \right)_{\small{\!\! J}} = - 1</math>. Liczba <math>c</math> musi być liczbą pierwszą.
  
<span style="font-size: 110%; font-weight: bold;">Uwaga L47</span><br/>
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
W funkcji <code>modLucas()</code> wykorzystaliśmy zaimplementowaną w&nbsp;PARI/GP funkcję
+
Przypuśćmy, że <math>c = a b</math> jest liczbą złożoną, gdzie <math>1 < a, b < c</math>. Mamy
  
<code>digits(m, b)</code> – zwraca wektor cyfr liczby <math>| m |</math> w&nbsp;systemie liczbowym o&nbsp;podstawie <math>b</math>
+
::<math>- 1 = \left( {\small\frac{c}{m}} \right)_{\small{\!\! J}} = \left( {\small\frac{a b}{m}} \right)_{\small{\!\! J}} = \left( {\small\frac{a}{m}} \right)_{\small{\!\! J}}</math><math>\left( {\small\frac{b}{m}} \right)_{\small{\!\! J}}</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ść.
+
Zatem jeden z&nbsp;czynników po prawej stronie musi być równy <math>- 1</math> wbrew definicji liczby <math>c</math>.<br/>
 +
&#9633;
 +
{{\Spoiler}}
  
<span style="font-size: 90%; color:black;">Dec2Bin(m) =
 
\\ 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);
 
}
 
  
  
 +
<span style="font-size: 110%; font-weight: bold;">Uwaga J66</span><br/>
 +
Liczby <math>c = c (m)</math> są zaskakująco małe. Średnia wartość <math>c = c (m)</math>, gdzie <math>m</math> są liczbami nieparzystymi (przyjmujemy <math>c(m) = 0</math>, gdy <math>m</math> jest liczbą kwadratową) wynosi<ref name="BaillieWagstaff1"/>
  
<span style="font-size: 110%; font-weight: bold;">Uwaga L48</span><br/>
+
::<math>\lim_{x \to \infty} {\small\frac{1}{x / 2}} \underset{m \; \text{nieparzyste}}{\sum_{m \leqslant x}} c (m) = \sum_{k = 2}^{\infty} {\small\frac{p_k + 1}{2^{k - 1}}} \prod^{k - 1}_{j = 1} \left( 1 - {\small\frac{1}{p_j}} \right) = 3.147755149 \ldots</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ą
 
  
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>a_{k + 1} =
 
  \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"/>
 
  
::<math>a_{k + 1} =
 
  \begin{cases}
 
  \qquad \quad \; 1 & \text{gdy } k = 0 \\
 
      \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>.
 
  
  
  
  
 +
== Przypisy ==
  
 +
<references>
  
 +
<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="CRT2">CRT to często używany skrót od angielskiej nazwy twierdzenia: ''Chinese remainder theorem''</ref>
  
 +
<ref name="logic1">Wikipedia, ''Logical equivalence'', ([https://en.wikipedia.org/wiki/Logical_equivalence 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="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="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>
  
 +
<ref name="Norton1">Karl K. Norton, ''Numbers with Small Prime Factors, and the Least ''k''th Power Non-Residue'', Memoirs of the American Mathematical Society, No. 106 (1971)</ref>
  
 +
<ref name="Trevino1">Enrique Treviño, ''The least k-th power non-residue'', Journal of Number Theory, Volume 149 (2015)</ref>
  
== Przypisy ==
+
<ref name="Trevino2">Kevin J. McGown and Enrique Treviño, ''The least quadratic non-residue'', Mexican Mathematicians in the World (2021)</ref>
  
<references>
+
<ref name="Erdos1">Paul Erdős, ''Számelméleti megjegyzések I'', Afar. Lapok, v. 12 (1961)</ref>
  
 
<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="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="Arnault1">François Arnault, ''The Rabin-Monier Theorem for Lucas Pseudoprimes'', Mathematics of Computation Vol. 66, No. 218 (1997)</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="IntegerSquareRoot1">Wikipedia, ''Integer square root'', ([https://en.wikipedia.org/wiki/Integer_square_root#Using_only_integer_division 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="BPSW2">MathWorld, ''Baillie-PSW Primality Test'', ([https://mathworld.wolfram.com/Baillie-PSWPrimalityTest.html LINK])</ref>
 
  
 
</references>
 
</references>

Wersja z 13:59, 27 mar 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{ \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{ \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 \, | \, (u - a) }[/math], czyli [math]\displaystyle{ n \, | \, k m }[/math]. Ponieważ [math]\displaystyle{ \gcd (m, n) = 1 }[/math], zatem [math]\displaystyle{ n \, | \, k }[/math] (zobacz C72) 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 \, | \, (d - a) }[/math] i [math]\displaystyle{ m \, | \, (c - a) }[/math], zatem [math]\displaystyle{ m }[/math] dzieli różnicę tych liczb, czyli [math]\displaystyle{ m \, | \, (d - c) }[/math]. Podobnie pokazujemy, że [math]\displaystyle{ n \, | \, (d - c) }[/math]. Ponieważ liczby [math]\displaystyle{ m }[/math] i [math]\displaystyle{ n }[/math] są względnie pierwsze, to [math]\displaystyle{ m n \, | \, (d - c) }[/math] (zobacz C73), 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]), ż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 J2). Zakładając prawdziwość twierdzenia dla wszystkich liczb naturalnych należących do przedziału [math]\displaystyle{ [2, k] }[/math] otrzymujemy dla [math]\displaystyle{ k + 1 }[/math] układ

[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 J2 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 \, | \, (x - y) }[/math], zatem dla [math]\displaystyle{ k \geqslant 1 }[/math] mamy [math]\displaystyle{ m \, | \, (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 C74. 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 C71 - 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 \, | \, a_1 (x_1 - x_2) }[/math]

Ponieważ [math]\displaystyle{ p \nmid a_1 }[/math], to z lematu Euklidesa (C72) otrzymujemy natychmiast [math]\displaystyle{ p \, | \, (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 C72)

[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{ \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 \, | \, 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{ \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 Fermata

Twierdzenie J18 (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|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|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 C72) wynika natychmiast, że [math]\displaystyle{ p }[/math] dzieli [math]\displaystyle{ a^{p - 1} - 1 }[/math].



Kryterium Eulera

Definicja J19
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 \, | \, (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 J20
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 J21 (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 J20
   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 J22). 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 J22
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 J23
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 \, | \, a \end{cases} }[/math]


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

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


Twierdzenie J25*
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 J26
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 \, | \, (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.


Zadanie J27
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 J28
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 J29
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 J30*
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 J31
Zauważmy, że poza zmienionym założeniem tabela z powyższego twierdzenia i tabela z twierdzenia J25 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 J32
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 J33
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 J34
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 J35
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{- 4}{m}} \right)_{\small{\!\! J}} = \begin{cases} \;\;\: 1 & \text{gdy } m = 4 k + 1 \\ - 1 & \text{gdy } m = 4 k + 3 \end{cases} }[/math]
Rozwiązanie
[math]\displaystyle{ \left( {\small\frac{3}{m}} \right)_{\small{\!\! J}} = \left( {\small\frac{m}{3}} \right)_{\small{\!\! J}} \cdot (- 1)^{\tfrac{m - 1}{2} \cdot \tfrac{3 - 1}{2}} = \left( {\small\frac{12 k + 1}{3}} \right)_{\small{\!\! J}} \cdot (- 1)^{\tfrac{12 k}{2}} = \left( {\small\frac{1}{3}} \right)_{\small{\!\! J}} \cdot (- 1)^{6 k} = 1 }[/math]
[math]\displaystyle{ \left( {\small\frac{3}{m}} \right)_{\small{\!\! J}} = \left( {\small\frac{m}{3}} \right)_{\small{\!\! J}} \cdot (- 1)^{\tfrac{m - 1}{2} \cdot \tfrac{3 - 1}{2}} = \left( {\small\frac{12 k + 5}{3}} \right)_{\small{\!\! J}} \cdot (- 1)^{\tfrac{12 k + 4}{2}} = \left( {\small\frac{5}{3}} \right)_{\small{\!\! J}} \cdot (- 1)^{(6 k + 2)} = \left( {\small\frac{2}{3}} \right)_{\small{\!\! J}} = - 1 }[/math]
[math]\displaystyle{ \left( {\small\frac{3}{m}} \right)_{\small{\!\! J}} = \left( {\small\frac{m}{3}} \right)_{\small{\!\! J}} \cdot (- 1)^{\tfrac{m - 1}{2} \cdot \tfrac{3 - 1}{2}} = \left( {\small\frac{12 k + 7}{3}} \right)_{\small{\!\! J}} \cdot (- 1)^{\tfrac{12 k + 6}{2}} = \left( {\small\frac{1}{3}} \right)_{\small{\!\! J}} \cdot (- 1)^{(6 k + 3)} = - 1 }[/math]
[math]\displaystyle{ \left( {\small\frac{3}{m}} \right)_{\small{\!\! J}} = \left( {\small\frac{m}{3}} \right)_{\small{\!\! J}} \cdot (- 1)^{\tfrac{m - 1}{2} \cdot \tfrac{3 - 1}{2}} = \left( {\small\frac{12 k + 11}{3}} \right)_{\small{\!\! J}} \cdot (- 1)^{\tfrac{12 k + 10}{2}} = \left( {\small\frac{2}{3}} \right)_{\small{\!\! J}} \cdot (- 1)^{(6 k + 5)} = (- 1) \cdot (- 1) = 1 }[/math]



Uwaga J36
Wykorzystując podane w twierdzeniu J30 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 J37
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 \, | \, 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 \, | \, m) }[/math] jest symbolem Legendre'a
  • jeżeli wiemy, że [math]\displaystyle{ m }[/math] jest liczbą złożoną, to symbol [math]\displaystyle{ (a \, | \, 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 \, | \, m) }[/math] jest symbolem Jacobiego



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

Twierdzenie J38
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 \, | \, (r^2 - a) }[/math], to tym bardziej [math]\displaystyle{ p \, | \, (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 C74). 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} \, | \, 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 J39
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 \, | \, 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 J40
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 \, | \, (r^2 - a) }[/math], gdzie [math]\displaystyle{ n \geqslant 3 }[/math], to tym bardziej [math]\displaystyle{ 2^3 \, | \, (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 J41
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 J42
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 J2 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 J23, twierdzeń J38 i J40, uwagi J39 i wniosku J41 otrzymujemy


Twierdzenie J43
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 \, | \, m }[/math],  to  [math]\displaystyle{ 8 \, | \, ( a - 1 ) }[/math]
●    jeżeli  [math]\displaystyle{ 8 \nmid m }[/math],  ale  [math]\displaystyle{ 4 \, | \, m }[/math],  to  [math]\displaystyle{ 4 \, | \, ( a - 1 ) }[/math]


Zadanie J44
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 J45
Rozwiązać kongruencję

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

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 + 5 x + 13 \equiv 0 \pmod{19} }[/math]
[math]\displaystyle{ 4 x^2 + 4 \cdot 5 x + 4 \cdot 13 \equiv 0 \pmod{19} }[/math]
[math]\displaystyle{ (2 x + 5)^2 - 25 + 52 \equiv 0 \pmod{19} }[/math]
[math]\displaystyle{ (2 x + 5)^2 - 6 + 14 \equiv 0 \pmod{19} }[/math]
[math]\displaystyle{ (2 x + 5)^2 \equiv - 8 \pmod{19} }[/math]
[math]\displaystyle{ (2 x + 5)^2 \equiv 7^2 \pmod{19} }[/math]
[math]\displaystyle{ 2 x + 5 \equiv \pm 7 \pmod{19} }[/math]
[math]\displaystyle{ 2 x \equiv - 5 \pm 7 \pmod{19} }[/math]

Mnożąc obie strony kongruencji przez [math]\displaystyle{ 10 }[/math], otrzymujemy: [math]\displaystyle{ x \equiv 13 \pmod{19} }[/math] lub [math]\displaystyle{ x \equiv 1 \pmod{19} }[/math].

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

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



Najmniejsze liczby niekwadratowe modulo

Uwaga J46
Najmniejsze liczby niekwadratowe modulo przedstawiamy Czytelnikowi jedynie jako pewną ciekawostkę. Jednocześnie jest to nietrudny temat, który pozwala lepiej poznać i zrozumieć liczby kwadratowe modulo, liczby niekwadratowe modulo, symbol Legendre'a i symbol Jacobiego.



 A. Najmniejsze liczby niekwadratowe modulo [math]\displaystyle{ p }[/math] 

Przykład J47
W tabeli przedstawiliśmy najmniejsze liczby niekwadratowe modulo [math]\displaystyle{ p }[/math]


Uwaga J48
Do wyszukiwania liczb [math]\displaystyle{ g = g (p) }[/math] Czytelnik może wykorzystać prostą funkcję napisaną w PARI/GP

A(p) = 
{
if( p == 2, return(0) );
if( !isprime(p), return(0) );
forprime(q = 2, p, if( jacobi(q, p) == -1, return(q) ));
}

Zauważmy, że choć wyliczamy symbol Jacobiego, to jest to w rzeczywistości symbol Legendre'a, bo wiemy, że liczba [math]\displaystyle{ p }[/math] jest liczbą pierwszą (w przypadku, gdy [math]\displaystyle{ p }[/math] jest liczbą złożoną, funkcja zwraca zero).


Twierdzenie J49
Niech [math]\displaystyle{ g \in \mathbb{Z}_+ }[/math] i niech [math]\displaystyle{ p }[/math] będzie liczbą pierwszą nieparzystą. Jeżeli [math]\displaystyle{ g }[/math] jest najmniejszą liczbą niekwadratową modulo [math]\displaystyle{ p }[/math], to jest liczbą pierwszą.

Dowód

Przypuśćmy, że [math]\displaystyle{ g = a b }[/math] jest liczbą złożoną, gdzie [math]\displaystyle{ 1 \lt a, b \lt g }[/math]. Z założenia [math]\displaystyle{ g }[/math] jest najmniejszą liczbą niekwadratową modulo [math]\displaystyle{ p }[/math], zatem liczby [math]\displaystyle{ a, b }[/math] są liczbami kwadratowymi modulo [math]\displaystyle{ p }[/math]. Z definicji liczb kwadratowych muszą istnieć takie liczby [math]\displaystyle{ r, s }[/math], że

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

Skąd wynika, że

[math]\displaystyle{ g = a b \equiv (r s)^2 \pmod{p} }[/math]

Wbrew założeniu, że [math]\displaystyle{ g }[/math] jest liczbą niekwadratową modulo [math]\displaystyle{ p }[/math].


Zadanie J50
Pokazać, że najmniejszą liczbą niekwadratową modulo [math]\displaystyle{ p }[/math] jest

  •  liczba [math]\displaystyle{ 2 }[/math] wtedy i tylko wtedy, gdy [math]\displaystyle{ p = 8 k \pm 3 }[/math]
  •  liczba [math]\displaystyle{ 3 }[/math] wtedy i tylko wtedy, gdy [math]\displaystyle{ p = 24 k \pm 7 }[/math]
  •  liczba [math]\displaystyle{ \geqslant 5 }[/math] wtedy i tylko wtedy, gdy [math]\displaystyle{ p = 24 k \pm 1 }[/math]
Rozwiązanie

Z właściwości symbolu Legendre'a (zobacz J25 p.7) wiemy, że

[math]\displaystyle{ \left( {\small\frac{2}{p}} \right)_{\small{\!\! L}} \,\, = \,\, \begin{cases} \;\;\: 1 & \text{gdy } p \equiv 1, 7 \pmod{8} \\ - 1 & \text{gdy } p \equiv 3, 5 \pmod{8} \end{cases} }[/math]

Wynika stąd natychmiast, dla liczb pierwszych [math]\displaystyle{ p }[/math] postaci [math]\displaystyle{ 8 k \pm 3 }[/math] (i tylko dla takich liczb) liczba [math]\displaystyle{ 2 }[/math] jest liczbą niekwadratową, czyli również najmniejszą liczbą niekwadratową modulo [math]\displaystyle{ p }[/math].

Z zadania J35 wynika, że liczba [math]\displaystyle{ 3 }[/math] jest liczbą niekwadratową jedynie dla liczb pierwszych postaci [math]\displaystyle{ 12 k \pm 5 }[/math]. Zatem dla liczb pierwszych, które są jednocześnie postaci [math]\displaystyle{ p = 8 k \pm 1 }[/math] i [math]\displaystyle{ p = 12 j \pm 5 }[/math], liczba [math]\displaystyle{ 3 }[/math] jest najmniejszą liczbą niekwadratową modulo [math]\displaystyle{ p }[/math]. Z czterech warunków

[math]\displaystyle{ p = 8 k + 1 \quad \text{i} \quad p = 12 j + 5 }[/math]
[math]\displaystyle{ p = 8 k + 1 \quad \text{i} \quad p = 12 j + 7 }[/math]
[math]\displaystyle{ p = 8 k + 7 \quad \text{i} \quad p = 12 j + 5 }[/math]
[math]\displaystyle{ p = 8 k + 7 \quad \text{i} \quad p = 12 j + 7 }[/math]

Drugi i trzeci nie są możliwe, bo modulo [math]\displaystyle{ 4 }[/math] otrzymujemy

[math]\displaystyle{ p \equiv 1 \pmod{4} \quad \text{i} \quad p \equiv 3 \pmod{4} }[/math]
[math]\displaystyle{ p \equiv 3 \pmod{4} \quad \text{i} \quad p \equiv 1 \pmod{4} }[/math]

a z pierwszego i czwartego mamy

[math]\displaystyle{ 3 p = 24 k + 3 \quad \text{i} \quad 2 p = 24 j + 10 \qquad \;\: \Longrightarrow \qquad p = 24 (k - j) - 7 \qquad \Longrightarrow \qquad p \equiv - 7 \pmod{24} }[/math]
[math]\displaystyle{ 3 p = 24 k + 21 \quad \text{i} \quad 2 p = 24 j + 14 \qquad \Longrightarrow \qquad p = 24 (k - j) + 7 \qquad \Longrightarrow \qquad p \equiv 7 \pmod{24} }[/math]

Zauważmy, że problem mogliśmy zapisać w postaci układu kongruencji

[math]\displaystyle{ p \equiv \pm 1 \pmod{8} }[/math]
[math]\displaystyle{ p \equiv \pm 5 \pmod{12} }[/math]

Gdyby moduły tych kongruencji były względnie pierwsze, to każdemu wyborowi znaków odpowiadałaby pewna kongruencja równoważna (zobacz J2). Widzimy, że w przypadku, gdy moduły nie są względnie pierwsze, kongruencja równoważna może istnieć, ale nie musi. Rozwiązując taki problem, wygodnie jest skorzystać z programu PARI/GP. Wystarczy wpisać

chinese(Mod(1, 8), Mod(5, 12)) = Mod(17, 24)
chinese(Mod(1, 8), Mod(-5, 12)) - błąd 
chinese(Mod(-1, 8), Mod(5, 12)) - błąd 
chinese(Mod(-1, 8), Mod(-5, 12)) = Mod(7, 24)

Ostatni punkt zadania rozwiążemy tą metodą. Liczba większa lub równa [math]\displaystyle{ 5 }[/math] jest najmniejszą liczbą niekwadratową modulo [math]\displaystyle{ p }[/math] wtedy i tylko wtedy, gdy liczby [math]\displaystyle{ 2 }[/math] i [math]\displaystyle{ 3 }[/math] są liczbami kwadratowymi modulo [math]\displaystyle{ p }[/math], co oznacza, że liczba pierwsza [math]\displaystyle{ p }[/math] spełnia kongruencje

[math]\displaystyle{ p \equiv \pm 1 \pmod{8} }[/math]
[math]\displaystyle{ p \equiv \pm 1 \pmod{12} }[/math]

Postępując jak wyżej, otrzymujemy

chinese(Mod(1, 8), Mod(1, 12)) = Mod(1, 24)
chinese(Mod(1, 8), Mod(-1, 12)) - błąd 
chinese(Mod(-1, 8), Mod(1, 12)) - błąd 
chinese(Mod(-1, 8), Mod(-1, 12)) = Mod(23, 24)

Co należało pokazać.


Twierdzenie J51
Niech [math]\displaystyle{ p }[/math] będzie liczbą pierwszą nieparzystą, a [math]\displaystyle{ g }[/math] będzie najmniejszą liczbą niekwadratową modulo [math]\displaystyle{ p }[/math]. Prawdziwe jest oszacowanie

[math]\displaystyle{ g (p) \lt \sqrt{p} + {\small\frac{1}{2}} }[/math]
Dowód

Ponieważ [math]\displaystyle{ g \nmid p }[/math], to z oszacowania [math]\displaystyle{ x - 1 \lt \lfloor x \rfloor \leqslant x }[/math] wynika, że

[math]\displaystyle{ {\small\frac{p}{g}} - 1 \lt \left\lfloor {\small\frac{p}{g}} \right\rfloor \lt {\small\frac{p}{g}} }[/math]
[math]\displaystyle{ p \lt g \left\lfloor {\small\frac{p}{g}} \right\rfloor + g \lt p + g }[/math]

Niech [math]\displaystyle{ u = \left\lfloor {\small\frac{p}{g}} \right\rfloor + 1 }[/math], mamy

[math]\displaystyle{ 0 \lt g u - p \lt g }[/math]

Liczba [math]\displaystyle{ g u - p }[/math] musi być liczbą kwadratową modulo [math]\displaystyle{ p }[/math], zatem

[math]\displaystyle{ 1 = \left( {\small\frac{g u - p}{p}} \right)_{\small{\!\! L}} = \left( {\small\frac{g}{p}} \right)_{\small{\!\! L}} \cdot \left( {\small\frac{u}{p}} \right)_{\small{\!\! L}} = - \left( {\small\frac{u}{p}} \right)_{\small{\!\! L}} }[/math]

Ale z założenia [math]\displaystyle{ g }[/math] jest najmniejszą liczbą taką, że [math]\displaystyle{ \left( {\small\frac{g}{p}} \right)_{\small{\!\! L}} = - 1 }[/math]. Wynika stąd, że musi być [math]\displaystyle{ g \leqslant u }[/math] i łatwo znajdujemy, że

[math]\displaystyle{ g \leqslant \left\lfloor {\small\frac{p}{g}} \right\rfloor + 1 \lt {\small\frac{p}{g}} + 1 }[/math]
[math]\displaystyle{ g^2 \lt p + g }[/math]

Ponieważ wypisane liczby są liczbami całkowitymi, to ostatnią nierówność możemy zapisać w postaci

[math]\displaystyle{ g^2 \leqslant p + g - 1 }[/math]

Skąd otrzymujemy

[math]\displaystyle{ \left( g - {\small\frac{1}{2}} \right)^2 \leqslant p - {\small\frac{3}{4}} }[/math]
[math]\displaystyle{ g \leqslant {\small\frac{1}{2}} + \sqrt{p - {\small\frac{3}{4}}} \lt {\small\frac{1}{2}} + \sqrt{p} }[/math]

Co należało pokazać.


Twierdzenie J52*
Niech [math]\displaystyle{ p }[/math] będzie liczbą pierwszą nieparzystą, a [math]\displaystyle{ g }[/math] będzie najmniejszą liczbą niekwadratową modulo [math]\displaystyle{ p }[/math]. Dla [math]\displaystyle{ p \geqslant 5 }[/math] prawdziwe jest oszacowanie[7][8][9]

[math]\displaystyle{ g (p) \leqslant 1.1 \cdot p^{1 / 4} \log p }[/math]


Uwaga J53
Liczby [math]\displaystyle{ g = g (p) }[/math] są zaskakująco małe. Średnia wartość [math]\displaystyle{ g = g (p) }[/math], gdzie [math]\displaystyle{ p }[/math] są nieparzystymi liczbami pierwszymi, jest równa[10]

[math]\displaystyle{ \lim_{x \to \infty} {\small\frac{1}{\pi (x)}} \sum_{p \leqslant x} g (p) = \sum_{k = 1}^{\infty} {\small\frac{p_k}{2^k}} = 3.674643966 \ldots }[/math]



 B. Najmniejsze liczby niekwadratowe modulo [math]\displaystyle{ m }[/math], gdzie [math]\displaystyle{ m }[/math] jest liczbą nieparzystą 

Uwaga J54
Najmniejsze liczby niekwadratowe modulo [math]\displaystyle{ m }[/math] są naturalnym uogólnieniem najmniejszych liczb niekwadratowych modulo [math]\displaystyle{ p }[/math]. W jednym i drugim przypadku liczba [math]\displaystyle{ g }[/math] jest najmniejszą liczbą niekwadratową w zbiorze wszystkich liczb niekwadratowych dodatnich nie większych od [math]\displaystyle{ p }[/math] lub [math]\displaystyle{ m }[/math]. Dlatego będziemy je oznaczali również jako [math]\displaystyle{ g(m) }[/math].


Przykład J55
W tabeli przedstawiliśmy najmniejsze liczby niekwadratowe modulo [math]\displaystyle{ p }[/math] i najmniejsze liczby niekwadratowe modulo [math]\displaystyle{ m }[/math].


Uwaga J56
Do wyszukiwania liczb [math]\displaystyle{ g = g (m) }[/math] Czytelnik może wykorzystać prostą funkcję napisaną w PARI/GP

B(m) = 
{
local(w);
if( m%2 == 0, return(0) );
forprime(p = 2, m, w = -1; for(k = 2, (m - 1)/2, if( k^2%m == p, w = 1; break() )); if( w == -1, return(p) ));
}


Twierdzenie J57
Niech [math]\displaystyle{ m \in \mathbb{Z}_+ }[/math] będzie liczbą nieparzystą. Jeżeli [math]\displaystyle{ g }[/math] jest najmniejszą liczbą niekwadratową modulo [math]\displaystyle{ m }[/math], to [math]\displaystyle{ g }[/math] jest liczbą pierwszą.

Dowód

Przypuśćmy, że [math]\displaystyle{ g = a b }[/math] jest liczbą złożoną, gdzie [math]\displaystyle{ 1 \lt a, b \lt g }[/math]. Z założenia [math]\displaystyle{ g }[/math] jest najmniejszą liczbą niekwadratową modulo [math]\displaystyle{ m }[/math], zatem liczby [math]\displaystyle{ a, b }[/math] są liczbami kwadratowymi modulo [math]\displaystyle{ m }[/math]. Z definicji liczb kwadratowych muszą istnieć takie liczby [math]\displaystyle{ r, s }[/math], że

[math]\displaystyle{ r^2 \equiv a \pmod{m} }[/math]
[math]\displaystyle{ s^2 \equiv b \pmod{m} }[/math]

Skąd wynika, że

[math]\displaystyle{ g = a b \equiv (r s)^2 \pmod{m} }[/math]

Wbrew założeniu, że [math]\displaystyle{ g }[/math] jest liczbą niekwadratową modulo [math]\displaystyle{ m }[/math].


Twierdzenie J58
Niech [math]\displaystyle{ p }[/math] będzie liczbą pierwszą nieparzystą. Jeżeli [math]\displaystyle{ a }[/math] jest liczbą niekwadratową modulo [math]\displaystyle{ p }[/math] i [math]\displaystyle{ p \, | \, m }[/math], to [math]\displaystyle{ a }[/math] jest liczbą niekwadratową modulo [math]\displaystyle{ m }[/math].

Dowód

Wiemy, że liczba [math]\displaystyle{ a }[/math] jest liczbą kwadratową modulo [math]\displaystyle{ m }[/math] wtedy i tylko wtedy, gdy kongruencja

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

ma rozwiązanie. Przypuśćmy, że liczba [math]\displaystyle{ a }[/math] jest liczbą kwadratową modulo [math]\displaystyle{ m }[/math]. Zatem istnieje taka liczba [math]\displaystyle{ k \in \mathbb{Z} }[/math], że

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

Ponieważ z założenia [math]\displaystyle{ p \, | \, m }[/math], to prawdziwa jest też kongruencja

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

co przeczy założeniu, że liczba [math]\displaystyle{ a }[/math] jest liczbą niekwadratową modulo [math]\displaystyle{ p }[/math].


Twierdzenie J59
Jeżeli liczba [math]\displaystyle{ g = g (m) }[/math] jest najmniejszą liczbą niekwadratową modulo [math]\displaystyle{ m }[/math], to istnieje taki dzielnik pierwszy [math]\displaystyle{ p }[/math] liczby [math]\displaystyle{ m }[/math], że [math]\displaystyle{ g }[/math] jest najmniejszą liczbą niekwadratową modulo [math]\displaystyle{ p }[/math].

Dowód

Przypuśćmy, że taki dzielnik pierwszy nie istnieje. Zatem mamy zbiór dzielników pierwszych liczby [math]\displaystyle{ m }[/math]: [math]\displaystyle{ \{ p_1, \ldots, p_s \} }[/math] i powiązany z dzielnikami pierwszymi [math]\displaystyle{ p_k }[/math] zbiór najmniejszych liczb niekwadratowych modulo [math]\displaystyle{ p_k }[/math]: [math]\displaystyle{ \{ g_1, \ldots, g_s \} }[/math], z których każda jest liczbą niekwadratową modulo [math]\displaystyle{ m }[/math] (zobacz J58). Wynika stąd, że liczba [math]\displaystyle{ g = g (m) }[/math] musi być mniejsza od każdej z liczb [math]\displaystyle{ g_k }[/math].

Z definicji liczba [math]\displaystyle{ g = g (m) }[/math] jest liczbą niekwadratową modulo [math]\displaystyle{ m }[/math], co oznacza, że kongruencja

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

nie ma rozwiązania. Niech [math]\displaystyle{ m = p^{\alpha_1}_1 \cdot \ldots \cdot p^{\alpha_s}_s }[/math]. Zatem przynajmniej jedna z kongruencji

[math]\displaystyle{ x^2 \equiv g \pmod{p^{\alpha_k}_k} }[/math]

musi nie mieć rozwiązania (zobacz J11). Z twierdzenia J38 wiemy, że wtedy kongruencja

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

również nie ma rozwiązania. Zatem [math]\displaystyle{ g }[/math] jest liczbą niekwadratową modulo [math]\displaystyle{ p_k }[/math] i [math]\displaystyle{ g \lt g_k }[/math], co przeczy definicji liczby [math]\displaystyle{ g_k }[/math].


Twierdzenie J60
Jeżeli [math]\displaystyle{ m = p^{\alpha_1}_1 \cdot \ldots \cdot p^{\alpha_s}_s }[/math], to

[math]\displaystyle{ g(m) = \min ( g (p_1), \ldots, g (p_s) ) }[/math]

gdzie [math]\displaystyle{ g(m) }[/math] jest najmniejszą liczbą kwadratową modulo [math]\displaystyle{ m }[/math], a [math]\displaystyle{ g(p_k) }[/math] są najmniejszymi liczbami kwadratowymi modulo [math]\displaystyle{ p_k }[/math].

Dowód

Twierdzenie jest prostym wnioskiem z twierdzenia J59.


Twierdzenie J61
Niech [math]\displaystyle{ m \in \mathbb{Z}_+ }[/math] będzie liczbą nieparzystą, a [math]\displaystyle{ g(m) }[/math] jest najmniejszą liczbą niekwadratową modulo [math]\displaystyle{ m }[/math]. Prawdziwe są oszacowania

[math]\displaystyle{ g(m) \lt \sqrt{m} + {\small\frac{1}{2}} \qquad \qquad \;\;\: \text{dla } m \geqslant 3 }[/math]
[math]\displaystyle{ g(m) \leqslant 1.1 \cdot m^{1 / 4} \log m \qquad \qquad \text{dla } m \geqslant 5 }[/math]
Dowód

Niech [math]\displaystyle{ p }[/math] będzie dzielnikiem pierwszym liczby [math]\displaystyle{ m }[/math] takim, że [math]\displaystyle{ g(m) = g (p) }[/math] (z twierdzenia J59 wiemy, że taki dzielnik istnieje). Jeżeli prawdziwe jest oszacowanie [math]\displaystyle{ g(p) \lt F (p) }[/math], gdzie [math]\displaystyle{ F(x) }[/math] jest funkcją rosnącą, to

[math]\displaystyle{ g(m) = g (p) \lt F (p) \leqslant F (m) }[/math]

Podane w twierdzeniu oszacowania wynikają natychmiast z twierdzeń J51 i J52.



 C. Najmniejsze dodatnie liczby niekwadratowe [math]\displaystyle{ a }[/math] takie, że [math]\displaystyle{ \left( {\small\frac{a}{m}} \right)_{\small{\!\! J}} = - 1 }[/math] 

Przykład J62
W tabeli przedstawiliśmy najmniejsze liczby niekwadratowe modulo [math]\displaystyle{ p }[/math], najmniejsze liczby niekwadratowe modulo [math]\displaystyle{ m }[/math] i najmniejsze dodatnie liczby niekwadratowe [math]\displaystyle{ a }[/math] takie, że [math]\displaystyle{ \left( {\small\frac{a}{m}} \right)_{\small{\!\! J}} = - 1 }[/math].


Uwaga J63
Do wyszukiwania liczb [math]\displaystyle{ c = c (m) }[/math] Czytelnik może wykorzystać prostą funkcję napisaną w PARI/GP

C(m) = 
{
if( m%2 == 0, return(0) );
if( issquare(m), return(0) );
forprime(p = 2, m, if( jacobi(p, m) == -1, return(p) ));
}


Uwaga J64
Najmniejsze dodatnie liczby niekwadratowe [math]\displaystyle{ a }[/math] takie, że [math]\displaystyle{ \left( {\small\frac{a}{m}} \right)_{\small{\!\! J}} = - 1 }[/math] oznaczyliśmy jako [math]\displaystyle{ c(m) }[/math]. Zauważmy, że są to liczby inne od [math]\displaystyle{ g(p) }[/math] i [math]\displaystyle{ g(m) }[/math]. Wystarczy zwrócić uwagę na występujące w tabeli liczby [math]\displaystyle{ g(p) }[/math], [math]\displaystyle{ g(m) }[/math] i [math]\displaystyle{ c(m) }[/math] dla [math]\displaystyle{ m = 15, 33, 39 }[/math]. Różnice wynikają z innej definicji liczb [math]\displaystyle{ c(m) }[/math] – jeżeli liczba [math]\displaystyle{ a }[/math] jest liczbą niekwadratową modulo [math]\displaystyle{ m }[/math], to symbol Jacobiego [math]\displaystyle{ \left( {\small\frac{a}{m}} \right)_{\small{\!\! J}} }[/math] nie musi być równy [math]\displaystyle{ - 1 }[/math]. I tak czasami bywa, co bardzo dobrze pokazuje powyższa tabela.

Ponieważ [math]\displaystyle{ c(m) }[/math] nie zawsze będzie najmniejszą liczbą kwadratową modulo [math]\displaystyle{ m }[/math], to mamy natychmiast oszacowanie: [math]\displaystyle{ c(m) \geqslant g (m) }[/math] (poza przypadkami, gdy [math]\displaystyle{ m = n^2 }[/math]).

Dla [math]\displaystyle{ c(m) }[/math] nie są prawdziwe oszacowania podane w twierdzeniu J51. Łatwo zauważamy, że

[math]\displaystyle{ c = c (15) = 7 \gt \sqrt{15} + {\small\frac{1}{2}} \approx 4.37 }[/math]
[math]\displaystyle{ c = c (39) = 7 \gt \sqrt{39} + {\small\frac{1}{2}} \approx 6.74 }[/math]
[math]\displaystyle{ c = c (105) = 11 \gt \sqrt{105} + {\small\frac{1}{2}} \approx 10.75 }[/math]
[math]\displaystyle{ c = c (231) = 17 \gt \sqrt{231} + {\small\frac{1}{2}} \approx 15.7 }[/math]

Nie ma więcej takich przypadków dla [math]\displaystyle{ m \lt 10^9 }[/math].


Twierdzenie J65
Niech [math]\displaystyle{ c, m \in \mathbb{Z}_+ }[/math] i niech [math]\displaystyle{ m \geqslant 3 }[/math] będzie liczbą nieparzystą, a [math]\displaystyle{ c }[/math] będzie najmniejszą liczbą taką, że [math]\displaystyle{ \left( {\small\frac{c}{m}} \right)_{\small{\!\! J}} = - 1 }[/math]. Liczba [math]\displaystyle{ c }[/math] musi być liczbą pierwszą.

Dowód

Przypuśćmy, że [math]\displaystyle{ c = a b }[/math] jest liczbą złożoną, gdzie [math]\displaystyle{ 1 \lt a, b \lt c }[/math]. Mamy

[math]\displaystyle{ - 1 = \left( {\small\frac{c}{m}} \right)_{\small{\!\! J}} = \left( {\small\frac{a b}{m}} \right)_{\small{\!\! J}} = \left( {\small\frac{a}{m}} \right)_{\small{\!\! J}} }[/math][math]\displaystyle{ \left( {\small\frac{b}{m}} \right)_{\small{\!\! J}} }[/math]

Zatem jeden z czynników po prawej stronie musi być równy [math]\displaystyle{ - 1 }[/math] wbrew definicji liczby [math]\displaystyle{ c }[/math].


Uwaga J66
Liczby [math]\displaystyle{ c = c (m) }[/math] są zaskakująco małe. Średnia wartość [math]\displaystyle{ c = c (m) }[/math], gdzie [math]\displaystyle{ m }[/math] są liczbami nieparzystymi (przyjmujemy [math]\displaystyle{ c(m) = 0 }[/math], gdy [math]\displaystyle{ m }[/math] jest liczbą kwadratową) wynosi[11]

[math]\displaystyle{ \lim_{x \to \infty} {\small\frac{1}{x / 2}} \underset{m \; \text{nieparzyste}}{\sum_{m \leqslant x}} c (m) = \sum_{k = 2}^{\infty} {\small\frac{p_k + 1}{2^{k - 1}}} \prod^{k - 1}_{j = 1} \left( 1 - {\small\frac{1}{p_j}} \right) = 3.147755149 \ldots }[/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)
  7. Karl K. Norton, Numbers with Small Prime Factors, and the Least kth Power Non-Residue, Memoirs of the American Mathematical Society, No. 106 (1971)
  8. Enrique Treviño, The least k-th power non-residue, Journal of Number Theory, Volume 149 (2015)
  9. Kevin J. McGown and Enrique Treviño, The least quadratic non-residue, Mexican Mathematicians in the World (2021)
  10. Paul Erdős, Számelméleti megjegyzések I, Afar. Lapok, v. 12 (1961)
  11. Robert Baillie and Samuel S. Wagstaff Jr., Lucas Pseudoprimes, Mathematics of Computation Vol. 35, No. 152 (1980), (LINK)