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

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;">22.03.2023</div>
+
<div style="text-align:right; font-size: 130%; font-style: italic; font-weight: bold;">11.01.2023</div>
  
 
__FORCETOC__
 
__FORCETOC__
Linia 5: Linia 5:
  
  
== Chińskie twierdzenie o&nbsp;resztach ==
+
== Ciągi Lucasa ==
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J1</span><br/>
+
<span style="font-size: 110%; font-weight: bold;">Definicja L1</span><br/>
Niech <math>a, u \in \mathbb{Z}</math> i <math>m, n \in \mathbb{Z}_+</math> i <math>\gcd (m, n) = 1</math>. Kongruencja
+
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
  
::<math>u \equiv a \pmod{m n}</math>
+
::<math>U_n = {\small\frac{\alpha^n - \beta^n}{\alpha - \beta}} = {\small\frac{\alpha^n - \beta^n}{\sqrt{D}}}</math>
  
jest równoważna układowi kongruencji
+
::<math>V_n = \alpha^n + \beta^n</math>
  
::<math>\begin{align}
+
gdzie liczby
u &\equiv a \pmod{m} \\
 
u &\equiv a \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}}
+
::<math>\alpha = {\small\frac{P + \sqrt{D}}{2}}</math>
  
<math>\Large{\Longrightarrow}</math>
+
::<math>\beta = {\small\frac{P - \sqrt{D}}{2}}</math>
  
Jeżeli liczba <math>u - a</math> jest podzielna przez iloczyn <math>m n</math>, to tym bardziej jest podzielna przez dowolny czynnik tego iloczynu, skąd wynika natychmiast wypisany układ kongruencji.
+
są pierwiastkami równania <math>x^2 - P x + Q = 0</math>.
  
<math>\Large{\Longleftarrow}</math>
 
  
Z kongruencji
 
  
::<math>u \equiv a \pmod{m}</math>
+
<span style="font-size: 110%; font-weight: bold;">Uwaga L2</span><br/>
 +
Zauważmy, że:
  
wynika, że <math>u - a = k m</math>, zaś z&nbsp;kongruencji
+
::<math>P = \alpha + \beta</math>
  
::<math>u \equiv a \pmod{n}</math>
+
::<math>Q = \alpha \beta</math>
  
otrzymujemy <math>n \mid (u - a)</math>, czyli <math>n \mid k m</math>. Ponieważ <math>\gcd (m, n) = 1</math>, zatem <math>n \mid k</math> (zobacz 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/>
+
::<math>\sqrt{D} = \alpha - \beta</math>
&#9633;
 
{{\Spoiler}}
 
  
 +
::<math>U_0 = 0</math>, <math>U_1 = 1</math>, <math>V_0 = 2</math> i <math>V_1 = P</math>
  
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J2</span><br/>
+
Warunek <math>P^2 - 4 Q \neq 0</math> wyklucza następujące pary <math>(P, Q)</math>
Dla dowolnych liczb <math>a, b \in \mathbb{Z}</math> i&nbsp;względnie pierwszych liczb <math>m, n \in \mathbb{Z}_+</math> istnieje dokładnie jedna taka liczba <math>c</math> (określona modulo <math>m n</math>), że prawdziwy jest układ kongruencji
 
  
::<math>\begin{align}
+
::<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>
c & \equiv a \pmod{m} \\
 
c & \equiv b \pmod{n}
 
\end{align}</math>
 
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 
Z&nbsp;założenia liczby <math>m</math> i <math>n</math> są względnie pierwsze, zatem na mocy lematu Bézouta (C.71) istnieją takie liczby <math>x, y \in \mathbb{Z}</math>, że
 
  
::<math>m x + n y = 1</math>
 
  
Niech <math>c = a n y + b m x</math>. Modulo <math>m</math> dostajemy
+
<span style="font-size: 110%; font-weight: bold;">Uwaga L3</span><br/>
 +
Oczywiście liczby <math>\alpha</math> i <math>\beta</math> są również pierwiastkami równania
  
::<math>c \equiv a n y \pmod{m}</math>
+
::<math>x^{n + 2} - P x^{n + 1} + Q x^n = 0</math>
  
::<math>c \equiv a (1 - m x) \pmod{m}</math>
+
Wynika stąd, że ciągi <math>(\alpha^n)</math> i <math>(\beta^n)</math> spełniają równania rekurencyjne
  
::<math>c \equiv a \pmod{m}</math>
+
::<math>\alpha^{n + 2} = P \alpha^{n + 1} - Q \alpha^n</math>
  
Natomiast modulo <math>n</math> mamy
+
::<math>\beta^{n + 2} = P \beta^{n + 1} - Q \beta^n</math>
  
::<math>c \equiv b m x \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
  
::<math>c \equiv b (1 - n y) \pmod{n}</math>
+
::<math>U_{n + 2} = P U_{n + 1} - Q U_n</math>
  
::<math>c \equiv b \pmod{n}</math>
+
::<math>V_{n + 2} = P V_{n + 1} - Q V_n</math>
  
Pokazaliśmy tym samym istnienie szukanej liczby <math>c</math>. Przypuśćmy, że istnieją dwie takie liczby <math>c</math> i <math>d</math>. Z&nbsp;założenia <math>m \mid (d - a)</math> i <math>m \mid (c - a)</math>, zatem <math>m</math> dzieli różnicę tych liczb, czyli <math>m \mid (d - c)</math>. Podobnie pokazujemy, że <math>n \mid (d - c)</math>. Ponieważ liczby <math>m</math> i <math>n</math> są względnie pierwsze, to <math>m n \mid (d - c)</math> (zobacz C73), co oznacza, że
+
Dlatego możemy zdefiniować ciągi Lucasa <math>(U_n)</math> i <math>(V_n)</math> w&nbsp;sposób równoważny
  
::<math>d \equiv c \pmod{m n}</math>.
 
  
Czyli możemy powiedzieć, że wybrana przez nas liczba <math>c</math> jest określona modulo <math>m n</math> i&nbsp;tak rozumiana jest dokładnie jedna. W&nbsp;szczególności istnieje tylko jedna liczba <math>c</math> taka, że <math>1 \leqslant c \leqslant m n</math>.<br/>
 
&#9633;
 
{{\Spoiler}}
 
  
 +
<span style="font-size: 110%; font-weight: bold;">Definicja L4</span><br/>
 +
Niech <math>P, Q \in \mathbb{Z} \setminus \{0\}</math> oraz <math>D = P^2 - 4 Q \neq 0</math>. Ciągi Lucasa <math>(U_n)</math> i <math>(V_n)</math> określone są następującymi wzorami rekurencyjnymi
  
 +
::<math>U_0 = 0</math>, <math>U_1 = 1</math>, <math>U_n = P U_{n - 1} - Q U_{n - 2}</math>
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J3 (chińskie twierdzenie o&nbsp;resztach)</span><br/>
+
::<math>V_0 = 2</math>, <math>V_1 = P</math>, <math>V_n = P V_{n - 1} - Q V_{n - 2}</math>
Niech <math>a, b, c, u \in \mathbb{Z}</math> i <math>m, n \in \mathbb{Z}_+</math> oraz niech <math>\gcd (m, n) = 1</math>. Istnieje dokładnie jedna liczba <math>c</math> (określona modulo <math>m n</math>) taka, że kongruencja
 
  
::<math>u \equiv c \pmod{m n}</math>
 
  
jest równoważna układowi kongruencji
 
  
::<math>\begin{align}
+
<span style="font-size: 110%; font-weight: bold;">Przykład L5</span><br/>
u & \equiv a \pmod{m} \\
+
Początkowe wyrazy ciągów Lucasa
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}}
+
::{| class="wikitable plainlinks"  style="font-size: 100%; text-align: left; margin-right: auto;"
Z&nbsp;twierdzenia J2 wiemy, że istnieje dokładnie jedna liczba <math>c</math> (określona modulo <math>m n</math>) taka, że prawdziwy jest układ kongruencji
+
|-
 +
! <math>\boldsymbol{n}</math> !! <math>\boldsymbol{U_n (P, Q)}</math> !! <math>\boldsymbol{V_n (P, Q)}</math>
 +
|-
 +
| &nbsp;&nbsp;<math>0</math>&nbsp;&nbsp; || <math>0</math> || <math>2</math>
 +
|-
 +
| &nbsp;&nbsp;<math>1</math>&nbsp;&nbsp; || <math>1</math> || <math>P</math>
 +
|-
 +
| &nbsp;&nbsp;<math>2</math>&nbsp;&nbsp; || <math>P</math> || <math>P^2 - 2 Q</math>
 +
|-
 +
| &nbsp;&nbsp;<math>3</math>&nbsp;&nbsp; || <math>P^2 - Q</math> || <math>P^3 - 3 P Q</math>
 +
|-
 +
| &nbsp;&nbsp;<math>4</math>&nbsp;&nbsp; || <math>P^3 - 2 P Q</math> || <math>P^4 - 4 P^2 Q + 2 Q^2</math>
 +
|-
 +
| &nbsp;&nbsp;<math>5</math>&nbsp;&nbsp; || <math>P^4 - 3 P^2 Q + Q^2</math> || <math>P^5 - 5 P^3 Q + 5 P Q^2</math>
 +
|-
 +
| &nbsp;&nbsp;<math>6</math>&nbsp;&nbsp; || <math>P^5 - 4 P^3 Q + 3 P Q^2</math> || <math>P^6 - 6 P^4 Q + 9 P^2 Q^2 - 2 Q^3</math>
 +
|-
 +
| &nbsp;&nbsp;<math>7</math>&nbsp;&nbsp; || <math>P^6 - 5 P^4 Q + 6 P^2 Q^2 - Q^3</math> || <math>P^7 - 7 P^5 Q + 14 P^3 Q^2 - 7 P Q^3</math>
 +
|-
 +
| &nbsp;&nbsp;<math>8</math>&nbsp;&nbsp; || <math>P^7 - 6 P^5 Q + 10 P^3 Q^2 - 4 P Q^3</math> || <math>P^8 - 8 P^6 Q + 20 P^4 Q^2 - 16 P^2 Q^3 + 2 Q^4</math>
 +
|-
 +
| &nbsp;&nbsp;<math>9</math>&nbsp;&nbsp; || <math>P^8 - 7 P^6 Q + 15 P^4 Q^2 - 10 P^2 Q^3 + Q^4</math> || <math>P^9 - 9 P^7 Q + 27 P^5 Q^2 - 30 P^3 Q^3 + 9 P Q^4</math>
 +
|}
  
::<math>\begin{align}
 
c & \equiv a \pmod{m} \\
 
c & \equiv b \pmod{n}
 
\end{align}</math>
 
  
Korzystając z&nbsp;tego rezultatu i&nbsp;twierdzenia J1, otrzymujemy
 
  
::<math>u \equiv c \pmod{m n} \qquad \Longleftrightarrow \qquad
+
<span style="font-size: 110%; font-weight: bold;">Uwaga L6</span><br/>
\begin{array}{l}
+
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>
  u \equiv c \; \pmod{m} \\
 
  u \equiv c \; \pmod{n} \\
 
\end{array} \qquad \Longleftrightarrow \qquad
 
\begin{array}{l}
 
  u \equiv a \; \pmod{m} \\
 
  u \equiv b \:\, \pmod{n} \\
 
\end{array} </math>
 
  
Co należało pokazać.<br/>
+
<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>
&#9633;
 
{{\Spoiler}}
 
  
 +
<span style="font-size: 90%; color:black;">LucasV(n, P, Q) = '''if'''( n == 0, 2, '''if'''( n == 1, P, P*LucasV(n-1, P, Q) - Q*LucasV(n-2, P, Q) ) )</span>
  
  
<span style="font-size: 110%; font-weight: bold;">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
 
  
::<math>\begin{align}
+
<span style="font-size: 110%; font-weight: bold;">Twierdzenie L7</span><br/>
u &\equiv 1 \pmod{4} \\
+
Niech <math>D = P^2 - 4 Q</math>. Wyrazy ciągów Lucasa można przedstawić w&nbsp;postaci sumy
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>2^{n - 1} U_n = \sum_{k = 0}^{\lfloor (n - 1) / 2 \rfloor} \binom{n}{2 k + 1} P^{n - 2 k - 1} D^k</math>
  
::<math>u = 8 j + 1, \qquad u = 8 j + 5</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>
  
i nie może być <math>u \equiv 3 \!\! \pmod{8}</math>.
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 +
Oznaczmy <math>\delta = \sqrt{D}</math>, zatem <math>2 \alpha = P + \delta</math> i <math>2 \beta = P - \delta</math>. Ze wzoru dwumianowego, mamy
  
 +
::<math>2^n \alpha^n = (P + \delta)^n = \sum_{j = 0}^{n} \binom{n}{j} P^{n - j} \delta^j</math>
  
 +
::<math>2^n \beta^n = (P - \delta)^n = \sum_{j = 0}^{n} \binom{n}{j} P^{n - j} (- \delta)^j</math>
  
<span style="font-size: 110%; font-weight: bold;">Zadanie J5</span><br/>
+
Obliczając sumę powyższych wzorów, otrzymujemy
Niech <math>u, a_1, \ldots, a_k \in \mathbb{Z}</math> i <math>m_1, \ldots, m_k \in \mathbb{Z}_+</math>. Pokazać, że jeżeli liczby <math>m_1, \ldots, m_k</math> są parami względnie pierwsze (czyli <math>\gcd (m_i, m_j) = 1</math> dla <math>i \neq j</math>), to istnieje dokładnie jedna liczba <math>c</math> (określona modulo <math>m_1 \cdot \ldots \cdot m_k</math>) taka, że układ kongruencji
 
  
::<math>\begin{align}
+
::<math>2^n (\alpha^n + \beta^n) = \sum_{j = 0}^{n} \binom{n}{j} P^{n - j} (\delta^j + (- \delta)^j)</math>
u & \equiv a_1 \pmod{m_1} \\
 
  & \cdots \\
 
u & \equiv a_k \pmod{m_k}
 
\end{align}</math>
 
  
można zapisać w&nbsp;sposób równoważny w&nbsp;postaci kongruencji
+
:::::<math>\quad \: = \sum_{k = 0}^{\lfloor n / 2 \rfloor} \binom{n}{2 k} P^{n - 2 k} \cdot 2 \delta^{2 k}</math>
  
::<math>u \equiv c \;\; \pmod{m_1 \cdot \ldots \cdot m_k}</math>
+
:::::<math>\quad \: = 2 \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=Rozwiązanie|Hide=Ukryj rozwiązanie}}
+
gdzie <math>j = 2 k</math> i&nbsp;sumowanie przebiega od <math>k = 0</math> do <math>k = \lfloor n / 2 \rfloor</math>
Indukcja matematyczna. Twierdzenie jest prawdziwe dla liczby <math>k = 2</math> (zobacz J3). Zakładając prawdziwość twierdzenia dla liczby naturalnej <math>k \geqslant 2</math>, dla liczby <math>k + 1</math> otrzymujemy układ kongruencji
 
  
::<math>\begin{align}
+
Zatem
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&nbsp;założenia indukcyjnego. Z&nbsp;twierdzenia J3 wynika, że układ ten można zapisać w&nbsp;sposób równoważny w&nbsp;postaci kongruencji
+
::<math>2^{n - 1} V_n = \sum_{k = 0}^{\lfloor n / 2 \rfloor} \binom{n}{2 k} P^{n - 2 k} D^k</math>
  
::<math>u \equiv c' \pmod{m_1 \cdot \ldots \cdot m_k m_{k + 1}}</math>
 
  
gdzie liczba <math>c'</math> jest dokładnie jedna i&nbsp;jest określona modulo <math>m_1 \cdot \ldots \cdot m_k m_{k + 1}</math>. Zatem twierdzenie jest prawdziwe dla <math>k + 1</math>. Co kończy dowód indukcyjny.<br/>
+
Obliczając różnicę tych wzorów, mamy
&#9633;
 
{{\Spoiler}}
 
  
 +
::<math>2^n (\alpha^n - \beta^n) = \sum_{j = 0}^{n} \binom{n}{j} P^{n - j} (\delta^j - (- \delta)^j)</math>
  
 +
:::::<math>\quad \: = \sum_{k = 0}^{\lfloor (n - 1) / 2 \rfloor} \binom{n}{2 k + 1} P^{n - 2 k - 1} \cdot 2 \delta^{2 k + 1}</math>
  
<span style="font-size: 110%; font-weight: bold;">Przykład J6</span><br/>
+
:::::<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>
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>\begin{align}
+
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>
n &\equiv 3 \pmod{5} \\
 
n &\equiv 4 \pmod{7}
 
\end{align}</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
 
  
<span style="font-size: 90%; color:black;">chinese( Mod(3,5), Mod(4,7) )</span>
+
Zatem
  
uzyskujemy wynik <code>Mod(18, 35)</code>, zatem równoważna kongruencja ma postać
+
::<math>2^{n - 1} \cdot {\small\frac{\alpha^n - \beta^n}{\sqrt{D}}} = 2^{n - 1} U_n = \sum_{k = 0}^{\lfloor (n - 1) / 2 \rfloor} \binom{n}{2 k + 1} P^{n - 2 k - 1} D^k</math>
  
::<math>n \equiv 18 \pmod{35}</math>
+
Co należało pokazać.<br/>
 +
&#9633;
 +
{{\Spoiler}}
  
Jest to zarazem odpowiedź na postawione pytanie: najmniejsza liczba kulek wynosi <math>18</math>.
 
  
Gdybyśmy chcieli rozważać bardziej rozbudowany układ kongruencji, przykładowo
 
  
::<math>\begin{align}
+
<span style="font-size: 110%; font-weight: bold;">Uwaga L8</span><br/>
n &\equiv 1 \pmod{2} \\
+
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>
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;">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;">chinese( [Mod(1,2), Mod(2,3), Mod(3,5), Mod(4,7), Mod(5,11)] )</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>
  
Otrzymujemy <code>Mod(1523, 2310)</code>.
 
  
  
 +
Często możemy spotkać założenie <math>P \geqslant 1</math>. Poniższe twierdzenie wyjaśnia, dlaczego tak jest.
  
 +
<span style="font-size: 110%; font-weight: bold;">Twierdzenie L9</span><br/>
 +
Jeżeli <math>(U_n)</math> i <math>(V_n)</math> są ciągami Lucasa, to
  
 +
::<math>U_n (- P, Q) = (- 1)^{n - 1} U_n (P, Q)</math>
  
== Wielomiany ==
+
::<math>V_n (- P, Q) = (- 1)^n V_n (P, Q)</math>
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J7</span><br/>
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
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
+
Niech
  
::<math>W_n (x) = W_n (s) + (x - s) V_{n - 1} (x)</math>
+
::<math>\alpha = \frac{P + \sqrt{D}}{2} \qquad \qquad \;\; \beta = \frac{P - \sqrt{D}}{2}</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.
+
::<math>a = \frac{- P + \sqrt{D}}{2} \qquad \qquad b = \frac{- P - \sqrt{D}}{2}</math>
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
+
Liczby <math>\alpha, \beta</math> oraz <math>a, b</math> są odpowiednio pierwiastkami równań
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>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 245: Linia 216:
  
  
<span style="font-size: 110%; font-weight: bold;">Definicja J8</span><br/>
+
<span style="font-size: 110%; font-weight: bold;">Zadanie L10</span><br/>
Wielomian <math>W_n (x) = \sum_{k = 0}^{n} a_k x^k</math>, gdzie <math>a_0, \ldots, a_n \in \mathbb{Z}</math> oraz <math>a_n \neq 0</math>, będziemy nazywali wielomianem całkowitym stopnia <math>n</math>.
+
Pokazać, że jeżeli <math>P, Q \in \mathbb{Z} \setminus \{ 0 \}</math> i <math>D = P^2 - 4 Q \neq 0</math>, to
  
 +
::<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>
  
<span style="font-size: 110%; font-weight: bold;">Definicja J9</span><br/>
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Rozwiązanie|Hide=Ukryj rozwiązanie}}
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.
+
Niech
  
 +
::<math>\alpha = {\small\frac{P + \sqrt{D}}{2}} \qquad \qquad \;\; \beta = {\small\frac{P - \sqrt{D}}{2}}</math>
  
 +
::<math>a = P + \sqrt{D} \qquad \qquad \;\; b = P - \sqrt{D}</math>
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J10</span><br/>
+
Liczby <math>\alpha, \beta</math> oraz <math>a, b</math> są odpowiednio pierwiastkami równań
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>W_n (x) \equiv W_n (y) \pmod{m}</math>
+
::<math>x^2 - P x + Q = 0</math>
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
+
::<math>x^2 - 2 P x + 4 Q = 0</math>
Dla <math>k \geqslant 1</math> wyrażenie <math>x^k - y^k</math> jest podzielne przez <math>x - y</math>, co łatwo pokazać stosując indukcję matematyczną lub zauważając, że
 
  
::<math>x^k - y^k = (x - y) \sum_{j = 1}^{k} x^{k - j} y^{j - 1}</math>
+
Zatem definiują one ciągi Lucasa
  
Z założenia <math>m \mid (x - y)</math>, zatem dla <math>k \geqslant 1</math> mamy <math>m \mid (x^k - y^k)</math>. Wynika stąd, że prawdziwe są kongruencje
+
::<math>U_n (P, Q) = {\small\frac{\alpha^n - \beta^n}{\alpha - \beta}} \qquad \qquad \;\;\; V_n (P, Q) = \alpha^n + \beta^n</math>
  
::<math>\begin{align}
+
::<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>
  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
+
Zauważmy, że
  
::<math>W_n (x) \equiv W_n (y) \pmod{m}</math>
+
::<math>\alpha - \beta = \sqrt{D}</math>
  
Co należało pokazać.<br/>
+
::<math>a - b = 2 \sqrt{D}</math>
&#9633;
 
{{\Spoiler}}
 
  
 +
::<math>{\small\frac{a}{\alpha}} = {\small\frac{b}{\beta}} = 2</math>
  
 +
Łatwo znajdujemy
  
<span style="font-size: 110%; font-weight: bold;">Uwaga J11</span><br/>
+
::<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>
Niech <math>W(x)</math> będzie wielomianem całkowitym. Rozważmy kongruencję
 
  
::<math>W(x) \equiv 0 \pmod{m n} \qquad \qquad \qquad (1)</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>
  
gdzie liczby <math>m</math> i <math>n</math> są względnie pierwsze.
+
Co należało pokazać.<br/>
 +
&#9633;
 +
{{\Spoiler}}
  
Kongruencja ta jest równoważna układowi kongruencji
 
  
::<math>\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>(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.
+
<span style="font-size: 110%; font-weight: bold;">Zadanie L11</span><br/>
 +
Pokazać, że jeżeli <math>Q \in \mathbb{Z} \setminus \{ 0 \}</math> oraz <math>P = 4 Q - 1</math>, to
  
Załóżmy, że każda z&nbsp;kongruencji <math>(2)</math> ma przynajmniej jedno rozwiązanie i&nbsp;niech
+
::<math>U_{2 k} (P, P Q) = - (- P)^k U_{2 k} (1, Q)</math>
  
:* <math>x \equiv a \!\! \pmod{m}</math> będzie pierwiastkiem kongruencji <math>W (x) \equiv 0 \!\! \pmod{m}</math>
+
::<math>U_{2 k + 1} (P, P Q) = (- P)^k V_{2 k + 1} (1, Q)</math>
:* <math>x \equiv b \!\! \pmod{n}</math> będzie pierwiastkiem kongruencji <math>W (x) \equiv 0 \!\! \pmod{n}</math>
 
  
Pierwiastki te tworzą układ kongruencji
+
::<math>V_{2 k} (P, P Q) = (- P)^k V_{2 k} (1, Q)</math>
  
::<math>\begin{align}
+
::<math>V_{2 k + 1} (P, P Q) = - (- P)^{k + 1} U_{2 k + 1} (1, Q)</math>
x &\equiv a \pmod{m} \\
 
x &\equiv b \pmod{n}
 
\end{align} \qquad \qquad \qquad \qquad (3)</math>
 
  
Z chińskiego twierdzenia o&nbsp;resztach wiemy, że układ ten możemy zapisać w&nbsp;postaci równoważnej
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Rozwiązanie|Hide=Ukryj rozwiązanie}}
 +
Niech
  
::<math>x \equiv c \pmod{m n}</math>
+
::<math>\alpha = {\small\frac{1 + \sqrt{- P}}{2}} \qquad \qquad \beta = {\small\frac{1 - \sqrt{- P}}{2}}</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>a = {\small\frac{P + \sqrt{- P}}{2}} \qquad \qquad b = {\small\frac{P - \sqrt{- P}}{2}}</math>
  
::<math>\begin{align}
+
Liczby <math>\alpha, \beta</math> oraz <math>a, b</math> są odpowiednio pierwiastkami równań
  W (c) &\equiv W (a) \equiv 0 \pmod{m} \\
 
  W (c) &\equiv W (b) \equiv 0 \pmod{n}
 
\end{align}</math>
 
  
ale liczby <math>m, n</math> są względnie pierwsze, zatem otrzymujemy, że
+
::<math>x^2 - x + {\small\frac{P + 1}{4}} = 0</math>
  
::<math>W (c) \equiv 0 \pmod{m n}</math>
+
::<math>x^2 - P x + {\small\frac{P (P + 1)}{4}} = 0</math>
  
Wynika stąd, że każdemu układowi rozwiązań <math>(3)</math> odpowiada dokładnie jedno rozwiązanie kongruencji <math>(1)</math>.
+
Z założenia <math>P = 4 Q - 1</math>, zatem
  
Podsumujmy: jeżeli kongruencje
+
::<math>x^2 - x + Q = 0</math>
  
::<math>\begin{align}
+
::<math>x^2 - P x + P Q = 0</math>
  W (x) &\equiv 0 \pmod{m}\\
 
  W (x) &\equiv 0 \pmod{n}
 
\end{align}</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
+
Czyli definiują one ciągi Lucasa
  
::<math>W(x) \equiv 0 \pmod{m n}</math>
+
::<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>
  
 +
Zauważmy, że
  
 +
::<math>\alpha - \beta = a - b = \sqrt{- P}</math>
  
 +
::<math>{\small\frac{a}{\beta}} = {\small\frac{P + \sqrt{- P}}{1 - \sqrt{- P}}} = \sqrt{- P}</math>
  
== Twierdzenie Lagrange'a ==
+
::<math>{\small\frac{b}{\alpha}} = {\small\frac{P - \sqrt{- P}}{1 + \sqrt{- P}}} = - \sqrt{- P}</math>
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J12</span><br/>
 
Kongruencja
 
  
::<math>a_1 x + a_0 \equiv 0 \pmod{p}</math>
+
Łatwo znajdujemy
  
gdzie <math>p \nmid a_1</math>, ma dokładnie jedno rozwiązanie modulo <math>p</math>.
+
::<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>
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 
  
'''A. Istnienie rozwiązania'''
+
::<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>
  
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
+
::<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 r \equiv 1 \pmod{p}</math>
 
  
Mnożąc rozpatrywaną kongruencję przez <math>r</math>, otrzymujemy
+
::<math>V_{2 k + 1} (P, P Q) = a^{2 k + 1} + b^{2 k + 1} = \left( \beta \sqrt{- P} \right)^{2 k + 1} + \left( - \alpha \sqrt{- P} \right)^{2 k + 1} = (- P)^{k + 1} \cdot \frac{\beta^{2 k + 1} - \alpha^{2 k + 1}}{\sqrt{- P}} = - (- P)^{k + 1} U_{2 k + 1} (1, Q)</math>
  
::<math>a_1 r x + a_0 r \equiv 0 \pmod{p}</math>
+
Co należało pokazać.<br/>
 
 
Zatem
 
 
 
::<math>x \equiv - a_0 r \pmod{p}</math>
 
 
 
'''B. Brak innych rozwiązań'''
 
 
 
Przypuśćmy, że istnieją dwa różne rozwiązania kongruencji
 
 
 
::<math>a_1 x + a_0 \equiv 0 \pmod{p}</math>
 
 
 
Jeśli oznaczymy je przez <math>x_1</math> i <math>x_2</math>, to otrzymamy
 
 
 
::<math>a_1 x_1 + a_0 \equiv 0 \equiv a_1 x_2 + a_0 \pmod{p}</math>
 
 
 
Czyli
 
 
 
::<math>a_1 x_1 \equiv a_1 x_2 \pmod{p}</math>
 
 
 
::<math>p \mid a_1 (x_1 - x_2)</math>
 
 
 
Ponieważ <math>p \nmid a_1</math>, to z&nbsp;lematu Euklidesa (C72) otrzymujemy natychmiast <math>p \mid (x_1 - x_2)</math>. Skąd wynika, że <math>x_1 \equiv x_2 \!\! \pmod{p}</math>, wbrew założeniu, że <math>x_1</math> i <math>x_2</math> są dwoma różnymi rozwiązaniami. Co kończy dowód.<br/>
 
 
&#9633;
 
&#9633;
 
{{\Spoiler}}
 
{{\Spoiler}}
Linia 394: Linia 326:
  
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J13 (Joseph Louis Lagrange, 1768)</span><br/>
+
<span style="font-size: 110%; font-weight: bold;">Zadanie L12</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
+
Pokazać, że jeżeli <math>Q \in \mathbb{Z} \setminus \{ 0 \}</math> oraz <math>P = 4 Q + 1</math>, to
  
::<math>W_n (x) \equiv 0 \pmod{p}</math>
+
::<math>U_{2 k} (P, P Q) = P^k U_{2 k} (1, - Q)</math>
  
ma co najwyżej <math>n</math> rozwiązań.
+
::<math>U_{2 k + 1} (P, P Q) = P^k V_{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}}
+
::<math>V_{2 k} (P, P Q) = P^k V_{2 k} (1, - Q)</math>
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>W_n (x) \equiv 0 \pmod{p}</math>
+
::<math>V_{2 k + 1} (P, P Q) = P^{k + 1} U_{2 k + 1} (1, - Q)</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ć
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Rozwiązanie|Hide=Ukryj rozwiązanie}}
 +
Niech
  
::<math>W_n (x) - W_n (s) = (x - s) V_{n - 1} (x)</math>
+
::<math>\alpha = {\small\frac{1 + \sqrt{P}}{2}} \qquad \qquad \beta = {\small\frac{1 - \sqrt{P}}{2}}</math>
  
gdzie wielomian <math>V_{n - 1} (x)</math> ma stopień <math>n - 1</math> modulo <math>p</math>, bo wielomiany <math>W_n (x)</math> oraz <math>V_{n - 1} (x)</math> mają jednakowe współczynniki wiodące.
+
::<math>a = {\small\frac{P + \sqrt{P}}{2}} \qquad \qquad b = {\small\frac{P - \sqrt{P}}{2}}</math>
  
 +
Liczby <math>\alpha, \beta</math> oraz <math>a, b</math> są odpowiednio pierwiastkami równań
  
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>x^2 - x - {\small\frac{P - 1}{4}} = 0</math>
  
::<math>W_n (x) \equiv (x - s) V_{n - 1} (x) \pmod{p}</math>
+
::<math>x^2 - P x + {\small\frac{P (P - 1)}{4}} = 0</math>
  
Ponieważ <math>p</math> jest liczbą pierwszą, to z&nbsp;rozpatrywanej kongruencji
+
Z założenia <math>P = 4 Q + 1</math>, zatem
  
::<math>W_n (x) \equiv 0 \pmod{p}</math>
+
::<math>x^2 - x - Q = 0</math>
  
wynika, że musi być (zobacz C72)
+
::<math>x^2 - P x + P Q = 0</math>
  
::<math>x \equiv s \pmod{p} \qquad \qquad \text{lub} \qquad \qquad V_{n - 1} (x) \equiv 0 \pmod{p}</math>
+
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>
  
Z założenia indukcyjnego kongruencja
+
::<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>
  
::<math>V_{n - 1} (x) \pmod{p}</math>
+
Zauważmy, że
  
ma co najwyżej <math>n - 1</math> rozwiązań, zatem kongruencja
+
::<math>\alpha - \beta = a - b = \sqrt{P}</math>
  
::<math>W_n (x) \equiv 0 \pmod{p}</math>
+
::<math>{\small\frac{a}{\alpha}} = {\small\frac{P + \sqrt{P}}{1 + \sqrt{P}}} = \sqrt{P}</math>
  
ma nie więcej niż <math>n</math> rozwiązań. Co należało pokazać.<br/>
+
::<math>{\small\frac{b}{\beta}} = {\small\frac{P - \sqrt{P}}{1 - \sqrt{P}}} = - \sqrt{P}</math>
&#9633;
 
{{\Spoiler}}
 
  
  
 +
Łatwo znajdujemy
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J14</span><br/>
+
::<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>
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>
 
  
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>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>
  
{{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>a_0 \not\equiv 0 \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>
  
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>
+
::<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>
  
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>.
+
Co należało pokazać.<br/>
 
 
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;
 
&#9633;
 
{{\Spoiler}}
 
{{\Spoiler}}
Linia 464: Linia 390:
  
  
<span style="font-size: 110%; font-weight: bold;">Przykład J15</span><br/>
+
<span style="font-size: 110%; font-weight: bold;">Twierdzenie L13</span><br/>
Z twierdzenia Lagrange'a wynika, że kongruencja
+
Dla wyrazów ciągów Lucasa prawdziwe są wzory
  
::<math>x^p - x - 1 \equiv 0 \pmod{p}</math>
+
{| class="wikitable plainlinks"  style="display: inline-table; margin-left: 5px; margin-right: 50px; font-size: 100%; text-align: left;"
 
+
|-
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>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>
 +
|}
  
::<math>x^p \equiv x \pmod{p}</math>
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 +
'''Wzory 1. - 7. najłatwiej udowodnić korzystając z&nbsp;definicji L1.'''
  
 +
Wzór 1.
  
 +
::<math>U_{m + n} = {\small\frac{\alpha^{m + n} - \beta^{m + n}}{\alpha - \beta}}</math>
  
<span style="font-size: 110%; font-weight: bold;">Przykład J16</span><br/>
+
:::<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>
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>W(x) = x^{15} + 11 x^{11} + 5 x^5 + 2 x^2 + x + 1</math>
+
:::<math>\quad \: = U_m U_{n + 1} - Q U_{m - 1} U_n</math>
  
Ponieważ <math>x^5 \equiv x \!\! \pmod{5}</math>, to
 
  
::<math>W(x) \equiv x^3 + 11 x^3 + 5 x + 2 x^2 + x + 1 \equiv 12 x^3 + 2 x^2 + 6 x + 1 \pmod{5}</math>
+
Wzór 2.
  
Co wynika również z&nbsp;faktu, że <math>W(x)</math> można zapisać w&nbsp;postaci
+
::<math>V_{m + n} = \alpha^{m + n} + \beta^{m + n}</math>
  
::<math>W(x) = x^{15} + 11 x^{11} + 5 x^5 + 2 x^2 + x + 1 = (x^5 - x) (x^{10} + 12 x^6 + 12 x^2 + 5) + 12 x^3 + 2 x^2 + 6 x + 1</math>
+
:::<math>\quad \;\! = (\alpha^m + \beta^m) (\alpha^n + \beta^n) - \alpha^n \beta^n \cdot (\alpha^{m - n} + \beta^{m - n})</math>
  
ale <math>x^5 - x \equiv 0 \!\! \pmod{5}</math> na mocy twierdzenia Fermata.
+
:::<math>\quad \;\! = V_m V_n - Q^n V_{m - n}</math>
  
  
 +
Wzór 3.
  
 +
::<math>U_{m + n} = {\small\frac{\alpha^{m + n} - \beta^{m + n}}{\alpha - \beta}}</math>
  
 +
:::<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>
  
== Twierdzenie Wilsona ==
+
:::<math>\quad \: = U_m V_n - Q^n U_{m - n}</math>
  
<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
 
  
::<math>(p - 1) ! \equiv - 1 \pmod{p}</math>
+
Wzór 4.
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
+
::<math>V_{m + n} = \alpha^{m + n} + \beta^{m + n}</math>
  
<math>\Large{\Longleftarrow}</math>
+
:::<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>
  
Przypuśćmy, że prawdziwa jest kongruencja <math>(p - 1) ! \equiv - 1 \!\! \pmod{p}</math> oraz <math>p</math> jest liczbą złożoną. Zatem liczba <math>p</math> ma dzielnik <math>d</math> taki, że <math>2 \leqslant d \leqslant p - 1</math>. Ponieważ <math>d \mid p</math>, to prawdziwa jest kongruencja
+
:::<math>\quad \;\! = D U_m U_n + Q^n V_{m - n}</math>
  
::<math>(p - 1) ! \equiv - 1 \pmod{d}</math>
 
  
czyli
+
Wzór 5.
  
::<math>0 \equiv - 1 \pmod{d}</math>
+
::<math>U_m V_n - V_m U_n = {\small\frac{\alpha^m - \beta^m}{\alpha - \beta}} \cdot (\alpha^n + \beta^n) - (\alpha^m + \beta^m) \cdot {\small\frac{\alpha^n - \beta^n}{\alpha - \beta}}</math>
  
co jest niemożliwe.
+
::::::<math>\;\;\: = 2 \cdot \alpha^n \beta^n \cdot {\small\frac{\alpha^{m - n} - \beta^{m - n}}{\alpha - \beta}}</math>
  
<math>\Large{\Longrightarrow}</math>
+
::::::<math>\;\;\: = 2 Q^n U_{m - n}</math>
  
Łatwo sprawdzamy, że twierdzenie jest prawdziwe dla <math>p = 2</math>. Niech teraz <math>p</math> będzie liczbą pierwszą nieparzystą. Rozważmy wielomiany
 
  
::<math>W(x) = (x - 1) (x - 2) \cdot \ldots \cdot (x - (p - 1))</math>
+
Wzór 6.
  
oraz
+
::<math>U^2_n = \left( {\small\frac{\alpha^n - \beta^n}{\alpha - \beta}} \right)^2</math>
  
::<math>V(x) = x^{p - 1} - 1</math>
+
:::<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>
  
Zauważmy, że
+
:::<math>\;\! = U_{n - 1} U_{n + 1} + Q^{n - 1}</math>
  
:* 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>
 
  
Niech
+
Wzór 7.
  
::<math>U(x) = W (x) - V (x)</math>
+
::<math>V^2_n = (\alpha^n + \beta^n)^2</math>
  
Zauważmy, że
+
:::<math>\;\! = (\alpha^{n - 1} + \beta^{n - 1}) (\alpha^{n + 1} + \beta^{n + 1}) - (\alpha - \beta)^2 \cdot \alpha^{n - 1} \beta^{n - 1}</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
+
:::<math>\;\! = V_{n - 1} V_{n + 1} - D Q^{n - 1}</math>
:* wielomian <math>U(x)</math> ma <math>p - 1</math> rozwiązań modulo <math>p</math>, bo dla każdego <math>k \in \{ 1, 2, \ldots, p - 1 \}</math> mamy <math>U(k) = W (k) - V (k) \equiv 0 \!\! \pmod{p}</math>
 
  
Z twierdzenia Lagrange'a wiemy, że wielomian <math>U(x)</math> nie może mieć więcej niż <math>p - 2</math> rozwiązań modulo <math>p</math>. Zatem z&nbsp;twierdzenia J14 wynika natychmiast, że liczba pierwsza <math>p</math> musi dzielić każdy współczynnik <math>a_k</math> wielomianu <math>U(x)</math> i&nbsp;w&nbsp;szczególności musi dzielić wyraz wolny, który jest równy <math>(p - 1) ! + 1</math>. Co należało pokazać.<br/>
 
&#9633;
 
{{\Spoiler}}
 
  
 +
'''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 J18</span><br/>
+
Wzór 9. Policzyć sumę wzorów 2. i 4.
Liczba całkowita nieparzysta <math>p \geqslant 3</math> jest liczbą pierwszą wtedy i&nbsp;tylko wtedy, gdy
 
  
::<math>\left[ \left( {\small\frac{p - 1}{2}} \right) ! \right]^2 \equiv (- 1)^{\tfrac{p + 1}{2}} \!\! \pmod{p}</math>
+
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}}
+
Wzór 11. We wzorze 3. położyć <math>m = n</math>.
Z twierdzenia Wilsona wiemy, że liczba całkowita <math>p \geqslant 2</math> jest liczbą pierwszą wtedy i&nbsp;tylko wtedy, gdy
 
  
::<math>(p - 1) ! \equiv - 1 \pmod{p}</math>
+
Wzór 12. We wzorze 2. położyć <math>m = n</math>.
  
W przypadku, gdy liczba <math>p</math> jest liczbą nieparzystą możemy powyższy wzór łatwo przekształcić. Ponieważ czynniki w <math>(p - 1) !</math> są określone modulo <math>p</math>, to odejmując od każdego czynnika większego od <math>{\small\frac{p - 1}{2}}</math> liczbę <math>p</math>, otrzymujemy
+
Wzór 13. We wzorze 4. położyć <math>m = n</math>.
  
::<math>1 \cdot 2 \cdot \ldots \cdot {\small\frac{p - 3}{2}} \cdot {\small\frac{p - 1}{2}} \cdot \left( {\small\frac{p + 1}{2}} - p \right) \left( {\small\frac{p + 3}{2}} - p \right) \cdot \ldots \cdot (- 2) \cdot (- 1) \equiv - 1 \!\! \pmod{p}</math>
+
Wzór 14. We wzorze 10. położyć <math>m = n</math> lub połączyć wzory 12. i 13.
  
::<math>(- 1)^{\tfrac{p - 1}{2}} \cdot \left[ \left( {\small\frac{p - 1}{2}} \right) ! \right]^2 \equiv - 1 \!\! \pmod{p}</math>
+
Wzór 15. We wzorze 9. położyć <math>m = 1</math>.
  
::<math>\left[ \left( {\small\frac{p - 1}{2}} \right) ! \right]^2 \equiv (- 1)^{\tfrac{p + 1}{2}} \!\! \pmod{p}</math>
+
Wzór 16. We wzorze 8. położyć <math>m = 1</math>.
  
Co należało pokazać.<br/>
+
Wzór 17. We wzorze 15. położyć <math>V_{n + 1} = P V_n - Q V_{n - 1}</math>.
&#9633;
 
{{\Spoiler}}
 
  
 +
Wzór 18. We wzorze 16. położyć <math>U_{n + 1} = P U_n - Q U_{n - 1}</math>.
  
  
 +
'''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.'''
  
 +
Wzór 19. Wystarczy połączyć wzory 11. oraz 16.
  
== Twierdzenie Fermata ==
+
Wzór 20. Wystarczy we wzorze 1. położyć <math>m = n + 1</math>.
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J19 (Pierre de Fermat, 1640)</span><br/>
 
Niech <math>a \in \mathbb{Z}</math>. Jeżeli <math>p</math> jest liczbą pierwszą
 
  
:* to liczba <math>a^p - a</math> jest podzielna przez <math>p</math>, czyli <math>a^p \equiv a \!\! \pmod p</math>
+
Wzór 21. Kładąc we wzorze 19. <math>n \rightarrow n + 1</math>, otrzymujemy
:* i&nbsp;jeśli dodatkowo <math>p \nmid a</math>, to liczba <math>a^{p - 1} - 1</math> jest podzielna przez <math>p</math>, czyli <math>a^{p - 1} \equiv 1 \!\! \pmod p</math>
 
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
+
::<math>U_{2 n + 2} = 2 U_{n + 1} U_{n + 2} - P U^2_{n + 1} \qquad (*)</math>
'''Punkt 1.'''
 
  
Zauważmy, że<br/>
+
Kładąc we wzorze 1. <math>m = n + 2</math>, mamy
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/>
 
  
 +
::<math>U_{2 n + 2} = U_{n + 2} U_{n + 1} - Q U_{n + 1} U_n</math>
  
Zatem wystarczy pokazać, że dla ustalonej liczby pierwszej nieparzystej <math>p</math> twierdzenie jest prawdziwe dla każdego <math>a \in \mathbb{Z}_+</math>.
+
Czyli
  
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>
+
::<math>2 U_{2 n + 2} = 2 U_{n + 1} U_{n + 2} - 2 Q U_n U_{n + 1}</math>
  
::<math>(a + 1)^p - (a + 1) = \sum_{k = 0}^{p} \binom{p}{k} \cdot a^k - a - 1</math>
+
Odejmując od powyższego wzoru wzór <math>(*)</math>, dostajemy wzór 21.
  
:::::::<math>\;\;\,\, = 1 + \sum_{k = 1}^{p - 1} \binom{p}{k} \cdot a^k + a^p - a - 1</math>
+
::<math>U_{2 n + 2} = P U^2_{n + 1} - 2 Q U_n U_{n + 1}</math>
  
:::::::<math>\;\;\,\, = a^p - a + \sum^{p - 1}_{k = 1} \binom{p}{k} \cdot a^k</math>
+
Co należało pokazać.<br/>
 
 
 
 
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>.
 
 
 
'''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;
 
&#9633;
 
{{\Spoiler}}
 
{{\Spoiler}}
Linia 611: Linia 561:
  
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J20</span><br/>
 
Niech <math>x, y \in \mathbb{Z}</math>. Jeżeli <math>\gcd (x, y) = 1</math> i&nbsp;liczba pierwsza nieparzysta <math>p</math> dzieli <math>x^2 + y^2</math>, to <math>p</math> jest postaci <math>4 k + 1</math>.
 
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 
Z założenia
 
  
::<math>x^2 \equiv - y^2 \!\! \pmod{p}</math>
+
== Obliczanie wyrazów ciągu Lucasa modulo <math>m</math> ==
  
Przypuśćmy, że <math>p|y</math>. Wtedy z&nbsp;powyższej kongruencji mamy natychmiast, że <math>p|x</math>, wbrew założeniu, że <math>\gcd (x, y) = 1</math>. Zatem <math>p \nmid y</math> i&nbsp;z&nbsp;twierdzenia Fermata dostajemy
+
<span style="font-size: 110%; font-weight: bold;">Przykład L14</span><br/>
 +
Pokażemy, jak wykorzystać podane w&nbsp;twierdzeniu L13 wzory 19, 20, 21 i 16
  
::<math>1 \equiv x^{p - 1} \equiv (x^2)^{\tfrac{p - 1}{2}} \equiv (- y^2)^{\tfrac{p - 1}{2}} \equiv y^{p - 1} \cdot (- 1)^{\tfrac{p - 1}{2}} \equiv (- 1)^{\tfrac{p - 1}{2}} \!\! \pmod{p}</math>
+
::<math>U_{2 n} = 2 U_n U_{n + 1} - P U^2_n</math>
  
Wynika stąd, że <math>{\small\frac{p - 1}{2}}</math> musi być liczbą parzystą, czyli <math>p = 4 k + 1</math>. Co należało pokazać.<br/>
+
::<math>U_{2 n + 1} = U^2_{n + 1} - Q U^2_n</math>
&#9633;
 
{{\Spoiler}}
 
  
 +
::<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>
  
<span style="font-size: 110%; font-weight: bold;">Zadanie J21</span><br/>
+
do szybkiego obliczania wyrazów ciągu Lucasa modulo <math>m</math>.
Niech <math>x, y, n \geqslant 0</math>. Pokazać, że jedynymi rozwiązaniami równania
 
  
::<math>x^2 + y^2 = 2^n</math>
 
  
są liczby
+
Niech <math>P = 3</math>, <math>Q = 1</math>, <math>D = P^2 - 4 Q = 5</math>, <math>n = 22 = (10110)_2 = \sum_{j = 0}^{4} a_j \cdot 2^j</math>.
  
:* <math>x = 2^{n / 2} \,</math> i <math>\, y = 0 \,</math> lub <math>\, x = 0 \,</math> i <math>\, y = 2^{n / 2}</math>, gdy <math>2 \mid n</math>
+
W tabeli przedstawione są kolejne kroki, jakie musimy wykonać, aby policzyć <math>U_n = U_{22}</math> modulo <math>m = 23</math>.
:* <math>x = y = 2^{(n - 1) / 2}</math>, gdy <math>2 \nmid n</math>
 
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Rozwiązanie|Hide=Ukryj rozwiązanie}}
+
::{| class="wikitable plainlinks"  style="font-size: 100%; text-align: center; margin-right: auto;"
'''A.''' Gdy jedna z&nbsp;liczb <math>x, y</math> jest równa <math>0</math> (powiedzmy <math>y</math>), to mamy <math>x = 2^{n / 2}</math>, gdy <math>n</math> jest parzyste. Gdy <math>n</math> jest nieparzyste, to rozwiązanie nie istnieje. Od tej pory będziemy zakładali, że <math>x, y \geqslant 1</math>
+
|-
 
+
! <math>\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>
'''B.''' Wiemy, że kwadrat liczby nieparzystej przystaje do <math>1</math> modulo <math>4</math>. Gdy obie liczby <math>x, y</math> są nieparzyste, to modulo <math>4</math> mamy
+
|-
 
+
| <math>4</math> || <math>1</math> || <math>(1)_2 = 1</math> || <math>U_1 = 1</math> || <math>U_2 = P = 3</math>
::<math>2 \equiv 2^n \!\! \pmod{4}</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>
 +
|}
  
Kongruencja ta jest prawdziwa tylko dla <math>n = 1</math> i&nbsp;w&nbsp;tym przypadku mamy <math>(x, y) = (1, 1)</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>.
  
'''C.''' W&nbsp;przypadku, gdy obie liczby są parzyste, możemy napisać <math>x = 2^a u</math>, <math>y = 2^b w</math>, gdzie liczby <math>u, w</math> są nieparzyste. Nie zmniejszając ogólności możemy założyć, że <math>1 \leqslant a \leqslant b < {\small\frac{n}{2}}</math>. Dostajemy
+
Dla uproszczenia zapisu i&nbsp;ułatwienia zrozumienia liczbę <math>k_j</math> oznaczymy jako <math>r</math>, a <math>k_{j + 1}</math> jako <math>s</math>. Zauważmy, że
  
::<math>u^2 + 2^{2 b - 2 a} w^2 = 2^{n - 2 a}</math>
+
:* tabela jest zbudowana tak, że musimy znaleźć wyrazy ciągu Lucasa o&nbsp;indeksie <math>r = k_j</math> oraz o&nbsp;indeksie o&nbsp;jeden większym: <math>r + 1 = k_j + 1</math>
 +
:* przejście do następnego wiersza (w dół) oznacza, że musimy znaleźć wyrazy o&nbsp;indeksie <math>s = k_{j + 1}</math> oraz o&nbsp;indeksie o&nbsp;jeden większym: <math>s + 1</math>
 +
:* przechodząc do następnego wiersza, dotychczasowa liczba <math>r = k_j</math> powiększa się o&nbsp;kolejną cyfrę ( <math>0</math> lub <math>1</math> ), którą dopisujemy z&nbsp;prawej strony
 +
:* dodanie na końcu liczby <math>r = k_j</math> zera podwaja liczbę <math>r</math>, czyli <math>s = k_{j + 1} = 2 r</math> oraz <math>s + 1 = 2 r + 1</math>
 +
:* dodanie na końcu liczby <math>r = k_j</math> jedynki podwaja liczbę <math>r</math> i&nbsp;zwiększą ją o&nbsp;jeden, czyli <math>s = k_{j + 1} = 2 r + 1</math> oraz <math>s + 1 = 2 r + 2</math>
  
Widzimy, że nie może być <math>a < b</math>, bo suma liczby nieparzystej i&nbsp;parzystej nie jest liczbą parzystą. Zatem <math>a = b</math> i&nbsp;otrzymujemy równanie
 
  
::<math>u^2 + w^2 = 2^{n - 2 a}</math>
+
Dlatego, jeżeli kolejną dodaną cyfrą jest zero, to korzystamy ze wzorów
  
które ma rozwiązanie w&nbsp;liczbach nieparzystych tylko dla wykładnika <math>n - 2 a = 1</math>. Mamy <math>u = w = 1</math>, zatem <math>x = y = 2^{(n - 1) / 2}</math> i <math>n</math> musi być liczbą nieparzystą.<br/>
+
::<math>U_s = U_{2 r} = 2 U_r U_{r + 1} - P U^2_r</math>
&#9633;
 
{{\Spoiler}}
 
  
 +
::<math>U_{s + 1} = U_{2 r + 1} = U^2_{r + 1} - Q U^2_r</math>
  
 +
Gdy kolejną dodaną cyfrą jest jeden, to stosujemy wzory
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J22</span><br/>
+
::<math>U_s = U_{2 r + 1} = U^2_{r + 1} - Q U^2_r</math>
Niech <math>x, y \in \mathbb{Z}_+</math>. Jeżeli <math>x \neq y</math>, to liczba <math>x^2 + y^2</math> ma dzielnik pierwszy postaci <math>4 k + 1</math>.
 
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
+
::<math>U_{s + 1} = U_{2 r + 2} = P U^2_{r + 1} - 2 Q U_r U_{r + 1}</math>
W&nbsp;przypadku, gdy <math>x = y</math> mamy <math>x^2 + y^2 = 2 y^2</math> i&nbsp;jeśli liczba <math>y</math> nie ma dzielnika pierwszego postaci <math>4 k + 1</math>, to nie ma go również liczba <math>2 y^2</math>. Przykładowo <math>x^2 + y^2 = 2 y^2 = 2^{2 r + 1}, 2 \cdot 3^{2 r}, 2 \cdot 7^{2 r}</math>. Dlatego zakładamy, że <math>x \neq y</math>. Analogiczna sytuacja ma miejsce, gdy jedna z&nbsp;liczb <math>x, y</math> jest równa zero. Dlatego zakładamy, że <math>x, y \in \mathbb{Z}_+</math>.
 
  
Niech <math>\gcd (x, y) = d</math>, zatem mamy <math>x = a d</math>, <math>y = b d</math>. Wynika stąd, że <math>x^2 + y^2 = d^2 (a^2 + b^2)</math>, gdzie <math>\gcd (a, b) = 1 \,</math> i <math>\, a \neq b</math>. Ponieważ <math>\, a \neq b</math>, to liczba <math>a^2 + b^2</math> musi mieć dzielnik pierwszy nieparzysty (zobacz J21). Z&nbsp;twierdzenia J20 zastosowanego do liczby <math>a^2 + b^2</math> wynika, że <math>a^2 + b^2</math> musi mieć dzielnik pierwszy postaci <math>4 k + 1</math>.<br/>
 
&#9633;
 
{{\Spoiler}}
 
  
 +
Korzystając ze wzoru <math>V_n = 2 U_{n + 1} - P U_n</math>, mamy
  
 +
::<math>V_{22} = 2 U_{23} - 3 U_{22} \equiv 44 - 60 \equiv - 16 \equiv 7 \pmod{23}</math>
  
 +
Ostatecznie otrzymujemy
  
 +
::<math>U_{22} \equiv 20 \pmod{23} \quad</math> oraz <math>\quad V_{22} \equiv 7 \pmod{23}</math>
  
== Kryterium Eulera ==
 
  
<span style="font-size: 110%; font-weight: bold;">Definicja J23</span><br/>
 
Niech <math>p</math> będzie liczbą pierwszą i <math>a \in \mathbb{Z}</math>. Powiemy, że liczba <math>a</math> jest liczbą kwadratową modulo <math>p</math>, jeżeli kongruencja
 
  
::<math>x^2 \equiv a \pmod{p}</math>
+
<span style="font-size: 110%; font-weight: bold;">Uwaga L15</span><br/>
 +
Uogólniając postępowanie przedstawione w&nbsp;przykładzie L14, możemy napisać program w&nbsp;PARI/GP do szybkiego obliczania wyrazów ciągu Lucasa <math>U_n (P, Q)</math> i <math>V_n (P, Q)</math> modulo <math>m</math>.
  
ma rozwiązanie, czyli istnieje taka liczba <math>k \in \mathbb{Z}</math>, że <math>p \mid (k^2 - a)</math>.
+
<span style="font-size: 90%; color:black;">modLucas(n, P, Q, m) =
 +
{
 +
'''local'''(A, i, s, U, U2, V, W, W2);
 +
'''if'''( m == 1, '''return'''([0, 0]) );
 +
'''if'''( n == 0, '''return'''([0, 2 % m]) );
 +
A = '''digits'''(n, 2); \\ otrzymujemy wektor cyfr liczby n w układzie dwójkowym
 +
s = '''length'''(A); \\ długość wektora A
 +
U = 1;
 +
W = P;
 +
i = 1;
 +
'''while'''( i++ <= s,
 +
        '''if'''( A[i] == 0, U2 = 2*U*W - P*U^2;  W2 = W^2 - Q*U^2 );
 +
        '''if'''( A[i] == 1,  U2 = W^2 - Q*U^2;  W2 = P*W^2 - 2*Q*U*W );
 +
        U = U2 % m;
 +
        W = W2 % m;
 +
      );
 +
V = (2*W - P*U) % m;
 +
'''return'''([U, V]);
 +
}</span>
  
Powiemy, że liczba <math>a</math> jest liczbą niekwadratową modulo <math>p</math>, jeżeli kongruencja
 
  
::<math>x^2 \equiv a \pmod{p}</math>
 
  
nie ma rozwiązania.
 
  
  
 +
== Podzielność wyrazów <math>U_n (P, Q)</math> przez liczbę pierwszą nieparzystą ==
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J24</span><br/>
+
<span style="font-size: 110%; font-weight: bold;">Uwaga L16</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>.
+
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
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
+
::<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>
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>k^2 \equiv (p - k)^2 \pmod{p}</math>
+
W przypadku, gdy <math>P \equiv 2 \pmod{p} \;</math> <math>\text{i} \;\; Q \equiv 1 \pmod{p}</math>, to modulo <math>p</math> mamy
  
Pozwala to wypisać pary liczb, których kwadraty są identyczne modulo <math>p</math>
+
::<math>(U_n) \equiv (0, 1, 2, \ldots, p - 1, 0, 1, 2, \ldots, p - 1, 0, 1, 2, \ldots, p - 1, \ldots)</math>
  
::<math>(1, p - 1), (2, p - 2), \ldots, \left( {\small\frac{p - 1}{2}}, p - {\small\frac{p - 1}{2}} \right)</math>
+
Sytuacja wygląda inaczej, gdy <math>p \mid P Q</math>.
  
Ponieważ
 
  
::<math>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>\{ 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
+
<span style="font-size: 110%; font-weight: bold;">Twierdzenie L17</span><br/>
 +
Niech <math>p</math> będzie liczbą pierwszą nieparzystą.
  
::<math>(i - j) (i + j) \equiv 0 \pmod{p}</math>
+
::{| border="0"
 +
|-style=height:1.9em
 +
| &#9679;&nbsp;&nbsp;&nbsp; jeżeli <math>\; p \mid P \;</math> <math>\text{i} \;\; p \mid Q , \;</math> to <math>\; p \mid U_n \;</math> dla <math>n \geqslant 2</math>
 +
|-style=height:1.9em
 +
| &#9679;&nbsp;&nbsp;&nbsp; jeżeli <math>\; p \mid P \;</math> <math>\text{i} \;\; p \nmid Q , \;</math> to <math>\; p \mid U_{2 n} \;</math> i <math>\; p \nmid U_{2 n + 1}</math>
 +
|-style=height:1.9em
 +
| &#9679;&nbsp;&nbsp;&nbsp; jeżeli <math>\; p \nmid P \;</math> <math>\text{i} \;\; p \mid Q , \;</math> to <math>\; p \nmid U_n \;</math> dla <math>n \geqslant 1</math>
 +
|-style=height:1.9em
 +
| &#9679;&nbsp;&nbsp;&nbsp; jeżeli <math>\; p \mid Q , \;</math> to <math>\; p \mid U_n</math>, gdzie <math>n \geqslant 2</math>, wtedy i&nbsp;tylko wtedy, gdy <math>\; p \mid P</math>
 +
|-style=height:1.9em
 +
| &#9679;&nbsp;&nbsp;&nbsp; jeżeli <math>\; p \nmid P \;</math> <math>\text{i} \;\; p \mid D , \;</math> to <math>\; p \mid U_n \;</math> wtedy i&nbsp;tylko wtedy, gdy <math>p \mid n</math>
 +
|}
  
Ł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ń
+
Założenie, że <math>p \nmid P</math> w&nbsp;ostatnim punkcie jest istotne. Gdy <math>\; p \mid P \;</math> i <math>\; p \mid D , \;</math> to <math>\; p \mid Q \;</math> i&nbsp;otrzymujemy punkt pierwszy.
  
::<math>1 \leqslant | i - j | \leqslant i + j < p - 1</math>
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 +
'''Punkt 1.'''
  
::<math>2 < i + j < p - 1</math>
+
Ponieważ <math>U_2 = P</math>, zatem <math>p \mid U_2</math>. Dla <math>n \geqslant 3</math> wyrażenie <math>U_n = P U_{n - 1} - Q U_{n - 2}</math> jest podzielne przez <math>p</math>.
  
 +
'''Punkt 2.'''
  
Ponieważ (z definicji) liczba <math>a</math> jest liczbą kwadratową modulo <math>p</math>, jeżeli kongruencja
+
Indeksy parzyste. Indukcja matematyczna. Mamy <math>U_0 = 0</math> i <math>U_2 = P</math>, zatem <math>p \mid U_0</math> i <math>p \mid U_2</math>. Zakładając, że <math>p \mid U_{2 n}</math>, z definicji ciągu <math>(U_k)</math>, otrzymujemy dla <math>U_{2 n + 2}</math>
  
::<math>x^2 \equiv a \pmod{p}</math>
+
::<math>U_{2 n + 2} = P U_{2 n - 1} - Q U_{2 n}</math>
  
ma rozwiązanie, to liczba kwadratowa modulo <math>p</math> musi przystawać do pewnego kwadratu modulo <math>p</math>.
+
Z założenia indukcyjnego wynika, że <math>p \mid U_{2 n + 2}</math>, zatem na mocy zasady indukcji matematycznej twierdzenie jest prawdziwe dla wszystkich <math>n \geqslant 0</math>.
  
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/>
+
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>
&#9633;
 
{{\Spoiler}}
 
  
 +
::<math>U_{2 n + 1} = P U_{2 n} - Q U_{2 n - 1}</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>.
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J25 (kryterium Eulera, 1748)</span><br/>
+
'''Punkt 3.'''
Niech <math>p</math> będzie liczbą pierwszą nieparzystą i <math>p \nmid a</math>. Modulo <math>p</math> mamy
 
  
::{| border="0"
+
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>
|-style=height:2.5em
+
otrzymujemy dla <math>n + 1</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:2.5em
 
| &#9679;&nbsp;&nbsp;&nbsp; || liczba <math>a</math> jest liczbą niekwadratową modulo <math>p</math> wtedy i&nbsp;tylko wtedy, gdy <math>a^{(p - 1) / 2} \equiv - 1 \pmod{p}</math>
 
|}
 
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
+
::<math>U_{n + 1} = P U_n - Q U_{n - 1}</math>
  
'''Punkt 1.'''
+
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>.
  
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 4.'''
  
::<math>x^{(p - 1) / 2} \equiv 1 \pmod{p}</math>
+
Wynika z&nbsp;punktów pierwszego i&nbsp;trzeciego.
  
Zauważmy, że
+
'''Punkt 5.'''
  
::{| border=1 style="border-collapse: collapse;"
+
Z twierdzenia L7 wiemy, że
|-style=height:2.5em
 
| &nbsp;&nbsp;&nbsp;'''A'''&nbsp;&nbsp;&nbsp; || &nbsp;&nbsp;&nbsp;<math>| Q | = {\small\frac{p - 1}{2}}</math> || &nbsp;&nbsp;&nbsp;zobacz J24
 
|-style=height:2.5em
 
| &nbsp;&nbsp;&nbsp;'''B'''&nbsp;&nbsp;&nbsp; || &nbsp;&nbsp;&nbsp;<math>| S | \leqslant {\small\frac{p - 1}{2}}</math> || &nbsp;&nbsp;&nbsp;zobacz twierdzenie Lagrange'a J13
 
|-style=height:2.5em
 
| &nbsp;&nbsp;&nbsp;'''C'''&nbsp;&nbsp;&nbsp; || &nbsp;&nbsp;&nbsp;jeżeli <math>a \in Q</math>, to <math>a \in S \qquad </math> || &nbsp;&nbsp;&nbsp;wynika z&nbsp;ciągu implikacji:<br/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<math>a \in Q \qquad \Longrightarrow \qquad a \equiv k^2 \pmod{p}</math><br/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<math>a \equiv k^2 \pmod{p} \qquad \Longrightarrow \qquad a^{(p - 1) / 2} \equiv (k^2)^{(p - 1) / 2} \equiv k^{p - 1} \equiv 1 \pmod{p}</math>&nbsp;&nbsp;&nbsp;<br/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<math>a^{(p - 1) / 2} \equiv 1 \pmod{p} \qquad \Longrightarrow \qquad a \in S</math>
 
|-style=height:2.5em
 
| &nbsp;&nbsp;&nbsp;'''D'''&nbsp;&nbsp;&nbsp; || &nbsp;&nbsp;&nbsp;<math>Q \subseteq S</math> || &nbsp;&nbsp;&nbsp;z punktu '''C''' wynika, że '''każdy''' element zbioru <math>Q</math> należy do zbioru <math>S</math>
 
|}
 
  
 +
::<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>
  
Łącząc rezultaty z&nbsp;tabeli, otrzymujemy
+
::::<math>\;\; = n P^{n - 1} + \binom{n}{3} P^{n - 3} D + \binom{n}{5} P^{n - 5} D^2 + \ldots +
 +
\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>
  
::<math>{\small\frac{p - 1}{2}} = | Q | \leqslant | S | \leqslant {\small\frac{p - 1}{2}}</math>
+
Z założenia <math>p \mid D</math>, zatem modulo <math>p</math> dostajemy
  
Skąd łatwo widzimy, że
+
::<math>2^{n - 1} U_n \equiv n P^{n - 1} \pmod{p}</math>
  
::<math>| Q | = | S | = {\small\frac{p - 1}{2}}</math>
+
Ponieważ <math>p \nmid P</math>, zatem <math>p \mid U_n</math> wtedy i&nbsp;tylko wtedy, gdy <math>p \mid n</math>.
 +
Co należało pokazać.<br/>
 +
&#9633;
 +
{{\Spoiler}}
  
Ponieważ <math>Q \subseteq S</math>, a&nbsp;zbiory <math>Q</math> i <math>S</math> są równoliczne, to zbiory te są równe (zobacz J26). Prostą konsekwencją równości zbiorów <math>Q</math> i <math>S</math> jest stwierdzenie
 
  
::{| 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.
 
 
'''Punkt 2.'''
 
  
Z udowodnionego już punktu pierwszego wynika<ref name="logic1"/>, że
+
<span style="font-size: 110%; font-weight: bold;">Twierdzenie L18</span><br/>
 +
Jeżeli <math>d</math> jest nieparzystym dzielnikiem <math>Q</math>, to dla <math>n \geqslant 2</math> jest
  
::{| border=0 style="background: #EEEEEE;"
+
::<math>U_n \equiv P^{n - 1} \pmod{d}</math>
|-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;
 
|}
 
  
Z twierdzenia Fermata
+
W szczególności, gdy liczba pierwsza nieparzysta <math>p</math> jest dzielnikiem <math>Q</math> i <math>p \nmid P</math>, to
  
::<math>a^{p - 1} - 1 = (a^{(p - 1) / 2} - 1) \cdot (a^{(p - 1) / 2} + 1) \equiv 0 \pmod{p}</math>
+
::<math>U_p \equiv 1 \pmod{p}</math>
  
wynika natychmiast, że jeżeli <math>a^{(p - 1) / 2} - 1 \not\equiv 0 \pmod{p}</math>, to musi być
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 +
Oznaczmy <math>\delta = \sqrt{D}</math>, zatem <math>2 \alpha = P + \delta</math> i <math>2 \beta = P - \delta</math>. Ze wzoru dwumianowego, mamy
  
::<math>a^{(p - 1) / 2} + 1 \equiv 0 \pmod{p}</math>
+
::<math>2^n \alpha^n = (P + \delta)^n = \sum_{j = 0}^{n} \binom{n}{j} P^{n - j} \delta^j</math>
  
Fakt ten pozwala sformułować uzyskaną równoważność bardziej precyzyjnie
+
::<math>2^n \beta^n = (P - \delta)^n = \sum_{j = 0}^{n} \binom{n}{j} P^{n - j} (- \delta)^j</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;
 
|}
 
  
Co należało pokazać.<br/>
+
Obliczając różnicę wyjściowych wzorów, mamy
&#9633;
 
{{\Spoiler}}
 
  
 +
::<math>2^n (\alpha^n - \beta^n) = \sum_{j = 0}^{n} \binom{n}{j} P^{n - j} (\delta^j - (- \delta)^j) =</math>
  
 +
:::::<math>\quad \: = \underset{j \; \text{nieparzyste}}{\sum_{j = 1}^{n}} \binom{n}{j} P^{n - j} \cdot 2 \delta^j</math>
  
<span style="font-size: 110%; font-weight: bold;">Zadanie J26</span><br/>
+
:::::<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>
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>.
 
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Rozwiązanie|Hide=Ukryj rozwiązanie}}
+
Rozpatrując powyższą równość modulo <math>Q</math> dostajemy (zobacz L43)
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
 
  
::<math>B = A \cup C \qquad \text{i} \qquad A \cap C = \varnothing</math>
+
::<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>
  
Ponieważ z&nbsp;założenia zbiory <math>A</math> i <math>C</math> są rozłączne, to wiemy, że
+
:::::::::<math>\;\:\: \equiv P^{n - 1} \underset{j \; \text{nieparzyste}}{\sum_{j = 1}^{n}} \binom{n}{j}</math>
  
::<math>| A \cup C | = | A | + | C |</math>
+
:::::::::<math>\;\:\: \equiv 2^{n - 1} P^{n - 1}</math>
  
 
Czyli
 
Czyli
  
::<math>| B | = | A \cup C | = | A | + | C |</math>
+
::<math>2^{n - 1} (U_n - P^{n - 1}) \equiv 0 \pmod{Q}</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ć.
+
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
  
<span style="border-bottom-style: double;">Uwaga (przypadek zbiorów skończonych)</span><br/>
+
::<math>U_p \equiv P^{p - 1} \equiv 1 \pmod{p}</math>
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>| A \cup C | = | A | + | C | - | A \cap C |</math><br/>
+
Co należało pokazać.<br/>
 
&#9633;
 
&#9633;
 
{{\Spoiler}}
 
{{\Spoiler}}
Linia 839: Linia 796:
  
  
 +
<span style="font-size: 110%; font-weight: bold;">Twierdzenie L19</span><br/>
 +
Niech <math>D = P^2 - 4 Q</math>, a <math>(D \mid p)</math> oznacza symbol Legendre'a, gdzie <math>p</math> jest liczbą pierwszą nieparzystą i <math>p \nmid Q</math>. Mamy
  
 +
::{| border="0"
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; <math>U_p \equiv (D \mid p) \pmod{p}</math>
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; jeżeli <math>(D \mid p) = - 1 , \;</math> to <math>\; p \mid U_{p + 1}</math>
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; jeżeli <math>(D \mid p) = 1 , \;</math> to <math>\; p \mid U_{p - 1}</math>
 +
|}
  
== Symbol Legendre'a ==
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 +
'''Punkt 1.'''
  
<span style="font-size: 110%; font-weight: bold;">Definicja J27</span><br/>
+
Zauważmy, że przypadek gdy <math>p \mid Q</math>, omówiliśmy w&nbsp;twierdzeniu poprzednim. Z&nbsp;założenia <math>p</math> jest liczbą pierwszą nieparzystą. Z&nbsp;twierdzenia L7, w&nbsp;przypadku nieparzystego <math>n = p</math>, otrzymujemy
Niech <math>p</math> będzie liczbą pierwszą nieparzystą i <math>a \in \mathbb{Z}</math>. Symbolem Legendre'a<ref name="legendre1"/> nazywamy funkcję <math>a</math> i <math>p</math> zdefiniowaną następująco
 
  
::<math>\left( {\small\frac{a}{p}} \right)_{\small{\!\! L}} =
+
::<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>
\begin{cases}
 
\;\;\: 1 & \text{gdy } \, a \, \text{ jest liczbą kwadratową modulo } \, p \,  \text{ oraz } \, p \nmid a \\
 
      - 1 & \text{gdy } \, a \, \text{ jest liczbą niekwadratową modulo } \, p \\
 
\;\;\: 0 & \text{gdy } \, p \mid a
 
\end{cases}</math>
 
  
 +
Ponieważ dla każdego <math>k \in [1, p - 1]</math> (zobacz L43)
  
 +
::<math>\binom{p}{k} \equiv 0 \pmod{p}</math>
  
<span style="font-size: 110%; font-weight: bold;">Uwaga J28</span><br/>
+
to modulo <math>p</math> dostajemy (zobacz J28)
Powyższa definicja pozwala nam zapisać kryterium Eulera w&nbsp;zwartej formie, która obejmuje również przypadek, gdy <math>p \mid a</math>
 
  
::<math>a^{(p - 1) / 2} \equiv \left( {\small\frac{a}{p}} \right)_{\small{\!\! L}} \pmod{p}</math>
+
::<math>2^{p - 1} U_p \equiv U_p \equiv D^{(p - 1) / 2} \equiv (D \mid p) \pmod{p}</math>
  
 +
'''Punkt 2.'''
  
 +
Zauważmy, że warunek <math>(D \mid p) = - 1</math> nie może być spełniony, gdy <math>p \mid Q</math>. Istotnie, gdy <math>p \mid Q</math>, to <math>D = P^2 - 4 Q \equiv P^2 \pmod{p}</math>, czyli
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J29*</span><br/>
+
::<math>(D \mid p) = (P^2 \mid p) = (P \mid p)^2 = 0 , \;</math> gdy <math>p \mid P</math>
Niech <math>a, b \in \mathbb{Z}</math> oraz <math>p, q</math> będą nieparzystymi liczbami pierwszymi. Symbol Legendre'a ma następujące właściwości
 
  
::{| class="wikitable plainlinks"  style="font-size: 100%; text-align: left; margin-right: auto;"
+
lub
|-
+
 
| &nbsp;&nbsp;1.&nbsp;&nbsp; || <math>\left( {\small\frac{a}{p}} \right)_{\small{\!\! L}} \,\, = \,\, 0 \quad \Longleftrightarrow \quad \gcd (a, p) > 1</math>
+
::<math>(D \mid p) = (P^2 \mid p) = (P \mid p)^2 = 1 , \;</math> gdy <math>p \nmid P</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>
+
i nie może być <math>(D \mid p) = - 1</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>
 
|}
 
  
 +
Dla parzystego <math>n = p + 1</math> otrzymujemy z&nbsp;twierdzenia L7
  
 +
::<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>
  
<span style="font-size: 110%; font-weight: bold;">Zadanie J30</span><br/>
+
Ponieważ dla <math>k \in [2, p - 1]</math> (zobacz L44)
Niech <math>p</math> będzie liczbą pierwszą nieparzystą, <math>a, d \in \mathbb{Z}</math> i <math>p \nmid d</math>. Pokazać, że
 
  
::<math>\sum_{k = 1}^{p - 1} \left( {\small\frac{k}{p}} \right)_{\small{\!\! L}} = 0</math>
+
::<math>\binom{p + 1}{k} \equiv 0 \pmod{p}</math>
  
::<math>\sum_{k = 0}^{p - 1} \left( {\small\frac{k}{p}} \right)_{\small{\!\! L}} = 0</math>
+
to modulo <math>p</math> dostajemy
  
::<math>\sum_{k = 0}^{p - 1} \left( {\small\frac{a + k d}{p}} \right)_{\small{\!\! L}} = 0</math>
+
::<math>2 U_{p + 1} \equiv P + P D^{(p - 1) / 2} \pmod{p}</math>
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Rozwiązanie|Hide=Ukryj rozwiązanie}}
 
  
'''Punkt 1. i 2.'''
+
Z założenia <math>D</math> jest liczbą niekwadratową modulo <math>p</math>, zatem <math>D^{(p - 1) / 2} \equiv - 1 \pmod{p}</math> (zobacz J25). Skąd wynika natychmiast, że
  
Aby udowodnić dwa pierwsze wzory, wystarczy zauważyć, że wśród liczb <math>1, 2, \ldots, p - 1</math> jest <math>{\small\frac{p - 1}{2}}</math> liczb kwadratowych modulo <math>p</math> i <math>{\small\frac{p - 1}{2}}</math> liczb niekwadratowych modulo <math>p</math>. Zatem
+
::<math>2 U_{p + 1} \equiv 0 \pmod{p}</math>
  
::<math>\sum_{k = 1}^{p - 1} \left( {\small\frac{k}{p}} \right)_{\small{\!\! L}} = {\small\frac{p - 1}{2}} \cdot 1 + {\small\frac{p - 1}{2}} \cdot (- 1) = 0</math>
+
Czyli <math>p \mid U_{p + 1}</math>.
  
 
'''Punkt 3.'''
 
'''Punkt 3.'''
  
Z założenia liczby <math>p</math> i <math>d</math> są względnie pierwsze. Z&nbsp;twierdzenia C55 wiemy, że reszty <math>r_1, r_2, \ldots, r_p</math> z&nbsp;dzielenia <math>p</math> kolejnych wyrazów ciągu arytmetycznego
+
Dla parzystego <math>n = p - 1</math> otrzymujemy z&nbsp;twierdzenia L7
  
::<math>x_k = a + k d</math>
+
::<math>2^{p - 2} U_{p - 1} = (p - 1) P^{p - 2} + \binom{p - 1}{3} P^{p - 4} D + \binom{p - 1}{5} P^{p - 6} D^2 + \ldots + \binom{p - 1}{p - 4} P^3 D^{(p - 5) / 2} + (p - 1) P D^{(p - 3) / 2}</math>
  
przez liczbę <math>p</math> są wszystkie różne i&nbsp;tworzą zbiór <math>S = \{ 0, 1, \ldots, p - 1 \}</math>.
+
Ponieważ dla <math>k \in [0, p - 1]</math> (zobacz L45)
  
Zatem wśród reszt <math>r_1, r_2, \ldots, r_p</math> jest <math>{\small\frac{p - 1}{2}}</math> liczb kwadratowych modulo <math>p</math>, tyle samo liczb niekwadratowych modulo <math>p</math>, a&nbsp;jedna z&nbsp;tych reszt jest podzielna przez <math>p .</math> Czyli
+
::<math>\binom{p - 1}{k} \equiv (- 1)^k \pmod{p}</math>
  
::<math>\sum_{k = 0}^{p - 1} \left( {\small\frac{a + k d}{p}} \right)_{\small{\!\! L}} = {\small\frac{p - 1}{2}} \cdot 1 + {\small\frac{p - 1}{2}} \cdot (- 1) + 0 = 0</math>
+
to modulo <math>p</math> mamy
  
Co należało pokazać.<br/>
+
::<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>
&#9633;
 
{{\Spoiler}}
 
  
 +
::::<math>\quad \,\, \equiv - P (P^{p - 3} + P^{p - 5} D + P^{p - 7} D^2 + \ldots + D^{(p - 3) / 2}) \pmod{p}</math>
  
  
<span style="font-size: 110%; font-weight: bold;">Zadanie J31</span><br/>
+
Z założenia <math>D</math> jest liczbą kwadratową modulo <math>p</math> (zobacz J23), zatem istnieje taka liczba <math>R</math>, że
Niech <math>p</math> będzie liczbą pierwszą nieparzystą. Pokazać, że jeżeli <math>k \in S = \{ 1, 2, \ldots, p - 1 \}</math>, to dla każdego <math>k</math> istnieją liczby <math>x_k</math> i <math>y_k</math> takie, że
 
  
::'''A.'''&nbsp;&nbsp;&nbsp;<math>x_k \cdot k + y_k \cdot p = 1</math>
+
::<math>D \equiv R^2 \pmod{p}</math>
  
::'''B.'''&nbsp;&nbsp;&nbsp;<math>p \nmid x_k</math>
+
Ponieważ
  
::'''C.'''&nbsp;&nbsp;&nbsp;<math>x_k \cdot k \equiv 1 \!\! \pmod{p}</math>
+
:* <math>(D \mid 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>
  
::'''D.'''&nbsp;&nbsp;&nbsp;jeżeli <math>k \neq j</math>, to <math>x_k \not\equiv x_j \!\! \pmod{p}</math>
 
  
::'''E.'''&nbsp;&nbsp;&nbsp;gdy <math>k</math> przebiega cały zbiór <math>S</math>, to <math>x_k</math> przebiega zbiór <math>S'</math> identyczny ze zbiorem <math>S</math> modulo <math>p</math>
+
Czyli
 
 
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Rozwiązanie|Hide=Ukryj rozwiązanie}}
 
'''A.''' Dla każdego <math>k \in S</math> mamy <math>\gcd (k, p) = 1</math>, zatem punkt A. wynika z&nbsp;lematu Bézouta (zobacz C71).
 
  
'''B.''' Gdyby <math>p \mid x_k</math>, to mielibyśmy <math>p \mid 1</math>, co jest niemożliwe.
+
::<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>
  
'''C.''' Kongruencję otrzymujemy, rozpatrując punkt A. modulo <math>p</math>.
 
  
'''D.''' Gdyby dla <math>k \neq j</math> było
+
Uwzględniając, że <math>P^2 - R^2 \not\equiv 0 \pmod{p}</math>, możemy napisać
  
::<math>x_k \equiv x_j \!\! \pmod{p}</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>
  
to z&nbsp;różnicy kongruencji (zobacz punkt C.)
+
::::::::<math>\equiv - P (P^{p - 1} - R^{p - 1}) \pmod{p}</math>
  
::<math>x_k \cdot k - x_j \cdot j \equiv 0 \!\! \pmod{p}</math>
+
::::::::<math>\equiv 0 \pmod{p}</math>
  
mielibyśmy
+
Zauważmy, że wynik nie zależy od tego, czy <math>p \mid P</math>, czy <math>p \nmid P</math>. Skąd wynika
  
::<math>x_k (k - j) \equiv 0 \!\! \pmod{p}</math>
+
::<math>U_{p - 1} \equiv 0 \pmod{p}</math>
  
Co jest niemożliwe, bo <math>p \nmid x_k</math> (punkt B.) oraz <math>p \nmid (k - j)</math>, bo dla <math>k \neq j</math> mamy <math>1 \leqslant | k - j | \leqslant p - 2</math>.
+
Co należało pokazać.<br/>
 
 
'''E.''' Z&nbsp;założenia <math>k</math> przebiega zbiór wszystkich reszt z&nbsp;dzielenia przez <math>p</math> poza liczbą zero. Z&nbsp;punktu B. wiemy, że dla każdej liczby <math>x_k</math> jest <math>x_k \not\equiv 0 \!\! \pmod{p}</math>. Z&nbsp;punktu D. wiemy, że różnym liczbom <math>k, j \in S</math> odpowiadają różne (modulo <math>p</math>) liczby <math>x_k, x_j</math>. Zatem modulo <math>p</math> zbiór <math>S'</math> musi być identyczny ze zbiorem <math>S</math>.<br/>
 
 
&#9633;
 
&#9633;
 
{{\Spoiler}}
 
{{\Spoiler}}
Linia 979: Linia 904:
  
  
<span style="font-size: 110%; font-weight: bold;">Zadanie J32</span><br/>
+
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/>
Niech <math>p</math> będzie liczbą pierwszą nieparzystą. Pokazać, że
+
<span style="font-size: 110%; font-weight: bold;">Twierdzenie L20</span><br/>
 +
Jeżeli <math>p</math> jest liczbą pierwszą nieparzystą i <math>\gcd (p, Q D) = 1</math>, to
  
::<math>\sum_{k = 1}^{p - 2} \left( {\small\frac{k (k + 1)}{p}} \right)_{\small{\!\! L}} = - 1</math>
+
::<math>U_{p - (D \mid p)} \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}}
 
Do rozwiązania problemu wykorzystamy liczby <math>x_k</math>, które zostały zdefiniowane i&nbsp;omówione w&nbsp;zadaniu poprzednim.
 
  
::<math>\sum_{k = 1}^{p - 2} \left( {\small\frac{k (k + 1)}{p}} \right)_{\small{\!\! L}} = \sum_{k = 1}^{p - 1} \left( {\small\frac{k (k + 1)}{p}} \right)_{\small{\!\! L}}</math>
 
  
::::::<math>\;\;\;\, = \sum_{k = 1}^{p - 1} \left( {\small\frac{k (k + x_k \cdot k)}{p}} \right)_{\small{\!\! L}}</math>
 
  
::::::<math>\;\;\;\, = \sum_{k = 1}^{p - 1} \left( {\small\frac{k^2}{p}} \right)_{\small{\!\! L}} \left( {\small\frac{1 + x_k}{p}} \right)_{\small{\!\! L}}</math>
 
  
::::::<math>\;\;\;\, = \sum_{k = 1}^{p - 1} \left( {\small\frac{1 + x_k}{p}} \right)_{\small{\!\! L}}</math>
+
== Liczby pseudopierwsze Lucasa ==
  
Gdy <math>k</math> przebiega zbiór <math>S = \{ 1, 2, \ldots, p - 1 \}</math>, to <math>x_k</math> przebiega pewien zbiór <math>S'</math>. Wiemy, że zbiory <math>S</math> i <math>S'</math> są identyczne modulo <math>p</math>.
+
<span style="font-size: 110%; font-weight: bold;">Uwaga L21</span><br/>
 +
Z twierdzenia L20 wiemy, że liczby pierwsze nieparzyste <math>p</math> takie, że <math>p \nmid Q D</math> są dzielnikami wyrazów ciągu Lucasa <math>U_{p - (D \mid p)}</math>, gdzie <math>(D \mid p)</math> oznacza symbol Legendre'a. Jeśli zastąpimy symbol Legendre'a symbolem Jacobiego, to będziemy mogli badać prawdziwość tego twierdzenia dla liczb złożonych i&nbsp;łatwo przekonamy się, że dla pewnych liczb złożonych <math>m</math> kongruencja
  
::<math>\sum_{k = 1}^{p - 2} \left( {\small\frac{k (k + 1)}{p}} \right)_{\small{\!\! L}} = \sum^{p - 1}_{a = 1} \left( {\small\frac{1 + a}{p}} \right)_{\small{\!\! L}}</math>
+
::<math>U_{m - (D \mid m)} \equiv 0 \pmod{m}</math>
  
::::::<math>\;\;\;\, = \sum_{b = 2}^{p} \left( {\small\frac{b}{p}} \right)_{\small{\!\! L}}</math>
+
również jest prawdziwa. Prowadzi to definicji liczb pseudopierwszych Lucasa.
  
::::::<math>\;\;\;\, = - \left( {\small\frac{1}{p}} \right)_{\small{\!\! L}} + \sum_{b = 1}^{p - 1} \left( {\small\frac{b}{p}} \right)_{\small{\!\! L}}</math>
 
  
::::::<math>\;\;\;\, = - 1</math>
 
  
(zobacz J30). Co należało pokazać.<br/>
+
<span style="font-size: 110%; font-weight: bold;">Definicja L22</span><br/>
&#9633;
+
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
{{\Spoiler}}
 
  
 +
::<math>U_{m - (D \mid m)} \equiv 0 \pmod{m}</math>
  
 +
gdzie <math>(D \mid m)</math> oznacza symbol Jacobiego.
  
<span style="font-size: 110%; font-weight: bold;">Zadanie J33</span><br/>
 
Pokazać, że jeżeli <math>p \geqslant 7</math> jest liczbą pierwszą, to wśród liczb <math>1, 2, \ldots, p - 1</math> istnieją:
 
  
:* dwie kolejne liczby będące liczbami kwadratowymi modulo <math>p</math>
 
:* dwie kolejne liczby będące liczbami niekwadratowymi modulo <math>p</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;">Twierdzenie L23</span><br/>
Dla <math>p = 7</math> łatwo sprawdzamy, że twierdzenie jest prawdziwe.
+
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>.
  
'''Punkt 1.'''
+
{{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
  
Zauważmy, że przynajmniej jedna z&nbsp;liczb <math>2, 5, 10</math> jest liczbą kwadratową. Zakładając, że tak nie jest, otrzymujemy natychmiast sprzeczność
+
::<math>U_m = {\small\frac{\alpha^m - \beta^m}{\alpha - \beta}}</math>
  
::<math> -1 = \left( {\small\frac{10}{p}} \right)_{\small{\!\! L}} = \left( {\small\frac{2}{p}} \right)_{\small{\!\! L}} \cdot \left( {\small\frac{5}{p}} \right)_{\small{\!\! L}} = (- 1) \cdot (- 1) = 1</math>
+
<math>\alpha = a</math> i <math>\beta = 1</math>. Odpowiada to parametrom <math>P = \alpha + \beta = a + 1</math>, <math>Q = \alpha \beta = a</math>, <math>D = (\alpha - \beta)^2 = (a - 1)^2</math>.
  
W zależności od tego, która z&nbsp;liczb <math>2, 5, 10</math> jest liczbą kwadratową, mamy następujące pary kolejnych liczb kwadratowych
+
Ponieważ musi być <math>\gcd (m, Q D) = 1</math>, to mamy <math>\gcd (m, (a - 1) a) = 1</math> i&nbsp;wynika stąd, że <math>(D \mid m) = 1</math>. Z&nbsp;założenia <math>m</math> jest liczbą pseudopierwszą Lucasa dla parametrów <math>P = a + 1</math> i <math>Q = a</math>, zatem
 
 
::{| class="wikitable plainlinks"  style="font-size: 90%; text-align: center; margin-right: auto;"
 
|-
 
| <math>2</math> || <math>1, 2 \; \text{ oraz } \; 8, 9</math>
 
|-
 
| <math>5</math> || <math>4, 5</math>
 
|-
 
| <math>10</math> || <math>9, 10</math>
 
|}
 
  
'''Punkt 2.'''
+
::<math>U_{m - 1} (a + 1, a) \equiv 0 \pmod{m}</math>
  
Rozważmy wszystkie możliwe wartości <math>\left( {\small\frac{k}{p}} \right)_{\small{\!\! L}}</math> dla <math>k = 1, 2, 3, 4</math> i <math>p \geqslant 11</math>. Zauważmy, że <math>\left( {\small\frac{6}{p}} \right)_{\small{\!\! L}} = \left( {\small\frac{2}{p}} \right)_{\small{\!\! L}} \cdot \left( {\small\frac{3}{p}} \right)_{\small{\!\! L}}</math>.
+
Czyli
  
::{| class="wikitable plainlinks"  style="font-size: 90%; text-align: center; margin-right: auto;"
+
::<math>{\small\frac{a^{m - 1} - 1}{a - 1}} \equiv 0 \pmod{m}</math>
|-
 
! <math>\boldsymbol{k}</math> || <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{(…)}</math> || <math>\boldsymbol{p-1}</math>
 
|-
 
! <math>\boldsymbol{A.}</math>
 
| <math>1</math> || <math>1</math> || <math>1</math> || <math>1</math> || <math></math> || <math>1</math> || <math></math> || <math></math>
 
|-
 
! <math>\boldsymbol{B.}</math>
 
| <math>1</math> || <math>1</math> || <math>-1</math> || <math>1</math> || <math></math> || <math>-1</math> || <math></math> || <math></math>
 
|-
 
! <math>\boldsymbol{C.}</math>
 
| <math>1</math> || <math>-1</math> || <math>1</math> || <math>1</math> || <math></math> || <math>-1</math> || <math></math> || <math></math>
 
|-
 
! <math>\boldsymbol{D.}</math>  
 
| <math>1</math> || <math>-1</math> || <math>-1</math> || <math>1</math> || <math></math> || <math>1</math> || <math></math> || <math></math>
 
|}
 
  
'''A.''' W&nbsp;tym przypadku liczby <math>2, 3</math> są liczbami kwadratowymi modulo <math>p</math>. Gdyby w&nbsp;pozostałych komórkach miało nie być ani jednej pary kolejnych liczb niekwadratowych modulo <math>p</math>, to musielibyśmy <math>{\small\frac{p - 1}{2}}</math> liczb niekwadratowych umieścić wśród pozostałych <math>p - 5</math> komórek tak, aby między nimi zawsze była liczba kwadratowa modulo <math>p</math>. Wartość <math>\left( {\small\frac{6}{p}} \right)_{\small{\!\! L}}</math> wymusza, aby liczby niekwadratowe modulo <math>p</math> umieszczać w&nbsp;komórkach „nieparzystych”. Po wypełnieniu tych komórek pozostaną nam dwie liczby, które będziemy zmuszeni umieścić w&nbsp;komórkach „parzystych”. Co oznacza, że muszą pojawić się dwie pary kolejnych liczb niekwadratowych modulo <math>p</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ć
  
'''B. i C.''' W&nbsp;tym przypadku dokładnie jedna z&nbsp;liczb <math>2, 3</math> jest liczbą kwadratową modulo <math>p</math>. Gdyby w&nbsp;pozostałych komórkach miało nie być ani jednej pary kolejnych liczb niekwadratowych modulo <math>p</math>, to musielibyśmy <math>{\small\frac{p - 3}{2}}</math> liczb niekwadratowych umieścić wśród pozostałych <math>p - 5</math> komórek tak, aby między nimi zawsze była liczba kwadratowa modulo <math>p</math>. Wartość <math>\left( {\small\frac{6}{p}} \right)_{\small{\!\! L}}</math> wymusza, aby liczby niekwadratowe modulo <math>p</math> umieszczać w&nbsp;komórkach „parzystych”. Po wypełnieniu tych komórek pozostanie nam jedna liczba, którą będziemy zmuszeni umieścić w&nbsp;komórce „nieparzystej”. Co oznacza, że musi pojawić się jedna para kolejnych liczb niekwadratowych modulo <math>p</math>.
+
::<math>a^{m - 1} - 1 \equiv 0 \pmod{m}</math>
  
'''D.''' W&nbsp;tym przypadku nie musimy niczego dowodzić, bo liczby <math>2, 3</math> są kolejnymi liczbami niekwadratowymi modulo <math>p</math>.<br/>
+
Zatem <math>m</math> jest liczbą pseudopierwszą Fermata przy podstawie <math>a</math>. Co należało pokazać.<br/>
 
&#9633;
 
&#9633;
 
{{\Spoiler}}
 
{{\Spoiler}}
Linia 1068: Linia 962:
  
  
<span style="font-size: 110%; font-weight: bold;">Uwaga J34</span><br/>
+
<span style="font-size: 110%; font-weight: bold;">Uwaga L24</span><br/>
Wzmocnimy wynik uzyskany w&nbsp;poprzednim zadaniu. Zauważmy, jak użycie symbolu Legendre'a pozwala sformalizować problem.
+
Wykorzystując funkcje <code>jacobi(a, n)</code> i <code>modLucas(n, P, Q, m)</code> (zobacz J48, L15) możemy napisać prosty program, który sprawdza, czy dla liczby nieparzystej <math>m</math> prawdziwe jest twierdzenie L20.
  
 +
<span style="font-size: 90%; color:black;">isPrimeOr<span style="background-color: #fee481;">LPSP</span>(m, P, Q) =
 +
{
 +
'''local'''(D, js);
 +
D = P^2 - 4*Q;
 +
'''if'''( gcd(m, 2*Q*D) > 1, '''return'''(0) );
 +
js = jacobi(D, m);
 +
'''if'''( modLucas(m - js, P, Q, m)[1] == 0, '''return'''(1), '''return'''(0) );
 +
}
  
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J35</span><br/>
 
Jeżeli <math>p</math> jest liczbą pierwszą nieparzystą, to
 
  
:* istnieje <math>\left\lfloor {\small\frac{p - 3}{4}} \right\rfloor</math> różnych par kolejnych liczb kwadratowych modulo <math>p</math>
+
<span style="font-size: 110%; font-weight: bold;">Przykład L25</span><br/>
:* istnieje <math>\left\lfloor {\small\frac{p - 1}{4}} \right\rfloor</math> różnych par kolejnych liczb niekwadratowych modulo <math>p</math>
+
Poniższa tabela zawiera najmniejsze liczby pseudopierwsze Lucasa dla różnych parametrów <math>P</math> i <math>Q</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: 90%; text-align: right; margin-right: auto;"
 +
! &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<math>\boldsymbol{P}</math><br/><math>\boldsymbol{Q}</math>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 +
! <math>\boldsymbol{1}</math> !! <math>\boldsymbol{2}</math> !! <math>\boldsymbol{3}</math> !! <math>\boldsymbol{4}</math> !! <math>\boldsymbol{5}</math> !! <math>\boldsymbol{6}</math> !! <math>\boldsymbol{7}</math> !! <math>\boldsymbol{8}</math> !! <math>\boldsymbol{9}</math> !! <math>\boldsymbol{10}</math>
 +
|-
 +
! <math>\boldsymbol{- 5}</math>
 +
| <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>
 +
|}
  
'''Punkt 1.'''
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Pokaż kod|Hide=Ukryj kod}}
 +
<span style="font-size: 90%; color:black;">FirstLPSP(Stop) =
 +
\\ najmniejsze LPSP(P,Q) < Stop;  dla 1<=P<=10 i -5<=Q<=5
 +
{
 +
'''local'''(D, m, P, Q);
 +
Q = -6;
 +
'''while'''( Q++ <= 5,
 +
        '''if'''( Q == 0, '''next'''() );
 +
        P = 0;
 +
        '''while'''( P++ <= 10,
 +
              D = P^2 - 4*Q;
 +
              '''if'''( D == 0,
 +
                  '''print'''("Q= ", Q, "  P= ", P, "  ------------------");
 +
                  '''next'''();
 +
                );
 +
              m = 3;
 +
              '''while'''( m < Stop,
 +
                      '''if'''( isPrimeOr<span style="background-color: #fee481;">LPSP</span>(m, P, Q)  &&  !'''isprime'''(m),
 +
                          '''print'''("Q= ", Q, "  P= ", P, "  m= ", m, "  (D|m)= ", jacobi(D, m));
 +
                          '''break'''();
 +
                        );
 +
                      m = m + 2;
 +
                    );
 +
            );
 +
      );
 +
}</span>
 +
<br/>
 +
{{\Spoiler}}
  
Chcemy znaleźć ilość takich liczb <math>k \in \{ 1, 2, \ldots, p - 2 \}</math>, dla których
+
Żółtym tłem oznaczyliśmy te najmniejsze liczby pseudopierwsze Lucasa, dla których <math>(D \mid m) = - 1</math>.
  
::<math>\left( {\small\frac{k}{p}} \right)_{\small{\!\! L}} = \left( {\small\frac{k + 1}{p}} \right)_{\small{\!\! L}} = 1</math>
 
  
Ilość liczb <math>k</math> spełniających powyższy warunek łatwo zapisać korzystając z&nbsp;symbolu Legendre'a
 
  
::<math>N = {\small\frac{1}{4}} \sum_{k = 1}^{p - 2} \left[ 1 + \left( {\small\frac{k}{p}} \right)_{\small{\!\! L}} \right] \left[ 1 + \left( {\small\frac{k + 1}{p}} \right)_{\small{\!\! L}} \right]</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: 90%; text-align: right; margin-right: auto;"
 +
! &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<math>\boldsymbol{P}</math><br/><math>\boldsymbol{Q}</math>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 +
! <math>\boldsymbol{1}</math> !! <math>\boldsymbol{2}</math> !! <math>\boldsymbol{3}</math> !! <math>\boldsymbol{4}</math> !! <math>\boldsymbol{5}</math> !! <math>\boldsymbol{6}</math> !! <math>\boldsymbol{7}</math> !! <math>\boldsymbol{8}</math> !! <math>\boldsymbol{9}</math> !! <math>\boldsymbol{10}</math>
 +
|-
 +
! <math>\boldsymbol{- 5}</math>
 +
| <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: 90%; color:black;">NumOfLPSP(Stop) =
 +
\\ ilość liczb pseudopierwszych Lucasa LPSP(P,Q) < Stop;  dla 1<=P<=10 i -5<=Q<=5
 +
{
 +
'''local'''(D, m, P, Q);
 +
Q = -6;
 +
'''while'''( Q++ <= 5,
 +
        '''if'''( Q == 0, '''next'''() );
 +
        P = 0;
 +
        '''while'''( P++ <= 10,
 +
              D = P^2 - 4*Q;
 +
              '''if'''( D == 0, '''print'''("Q= ", Q, "  P= ", P, "  ------------------"); '''next'''() );
 +
              s = 0;
 +
              m = 3;
 +
              '''while'''( m < Stop,
 +
                      '''if'''( isPrimeOr<span style="background-color: #fee481;">LPSP</span>(m, P, Q)  &&  !'''isprime'''(m), s++ );
 +
                      m = m + 2;
 +
                    );
 +
              '''print'''("Q= ", Q, "  P= ", P, "  s= ", s);
 +
            );
 +
      );
 +
}</span>
 +
<br/>
 +
{{\Spoiler}}
  
Tylko w&nbsp;przypadku, gdy obie liczby <math>k</math> i <math>k + 1</math> są liczbami kwadratowymi modulo <math>p</math>, iloczyn wyrażeń w&nbsp;nawiasach kwadratowych jest różny od zera i&nbsp;równy <math>4</math> (stąd czynnik <math>{\small\frac{1}{4}}</math> przed sumą).
 
 
::<math>4 N = \sum_{k = 1}^{p - 2} \left[ 1 + \left( {\small\frac{k}{p}} \right)_{\small{\!\! L}} + \left( {\small\frac{k + 1}{p}} \right)_{\small{\!\! L}} + \left( {\small\frac{k}{p}} \right)_{\small{\!\! L}} \left( {\small\frac{k + 1}{p}} \right)_{\small{\!\! L}} \right]</math>
 
 
<div style="margin-top: 1em; margin-bottom: 1em;">
 
:::<math>\; = p - 2 + \sum_{k = 1}^{p - 2} \left( {\small\frac{k}{p}} \right)_{\small{\!\! L}} + \sum_{k = 1}^{p - 2} \left( {\small\frac{k + 1}{p}} \right)_{\small{\!\! L}} + \sum_{k = 1}^{p - 2} \left( {\small\frac{k}{p}} \right)_{\small{\!\! L}} \left( {\small\frac{k + 1}{p}} \right)_{\small{\!\! L}}</math>
 
</div>
 
  
Po kolei wyliczymy sumy po lewej stronie
 
  
<div style="margin-top: 0em; margin-bottom: 1em;">
+
<span style="font-size: 110%; font-weight: bold;">Uwaga L27</span><br/>
::<math>\sum_{k = 1}^{p - 2} \left( {\small\frac{k}{p}} \right)_{\small{\!\! L}} = - \left( {\small\frac{p - 1}{p}} \right)_{\small{\!\! L}} + \sum_{k = 1}^{p - 1} \left( {\small\frac{k}{p}} \right)_{\small{\!\! L}} = - \left( {\small\frac{- 1}{p}} \right)_{\small{\!\! L}}</math>
+
Dla <math>(P, Q) = (1, 1)</math> ciąg Lucasa <math>(U_n)</math> ma postać
</div>
 
  
<div style="margin-top: 1em; margin-bottom: 1em;">
+
::<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>
::<math>\sum_{k = 1}^{p - 2} \left( {\small\frac{k + 1}{p}} \right)_{\small{\!\! L}} = \sum_{j = 2}^{p - 1} \left( {\small\frac{j}{p}} \right)_{\small{\!\! L}} = - \left( {\small\frac{1}{p}} \right)_{\small{\!\! L}} + \sum^{p - 1}_{j = 1} \left( {\small\frac{j}{p}} \right)_{\small{\!\! L}} = - 1</math>
 
</div>
 
  
<div style="margin-top: 1em; margin-bottom: 1em;">
+
Stosując indukcję matematyczną, udowodnimy, że <math>U_{3 k} = 0</math>. Łatwo sprawdzamy, że dla <math>k = 0</math> i <math>k = 1</math> wzór jest prawdziwy. Zakładając prawdziwość wzoru dla wszystkich liczb naturalnych nie większych od <math>k</math>, otrzymujemy dla <math>k + 1</math> (zobacz L13 p.3)
::<math>\sum_{k = 1}^{p - 2} \left( {\small\frac{k}{p}} \right)_{\small{\!\! L}} \left( {\small\frac{k + 1}{p}} \right)_{\small{\!\! L}} = \sum_{k = 1}^{p - 2} \left( {\small\frac{k (k + 1)}{p}} \right)_{\small{\!\! L}} = - 1</math>
 
</div>
 
  
(zobacz J30 i&nbsp;J32). Zatem
+
::<math>U_{3 (k + 1)} = U_{3 k + 3} = U_{3 k} V_3 - U_{3 (k - 1)} = 0</math>
  
::<math>N = {\small\frac{1}{4}} \left[ p - 4 - \left( {\small\frac{- 1}{p}} \right)_{\small{\!\! L}} \right]</math>
+
Co kończy dowód. Zbadajmy liczby pseudopierwsze Lucasa dla <math>(P, Q) = (1, 1)</math>.
  
Czyli
+
Mamy <math>D = P^2 - 4 Q = - 3</math>. Wynika stąd, że nie może być <math>3 \mid m</math>, bo mielibyśmy <math>\gcd (m, Q D) = 3 > 1</math>.
 +
 
 +
Z zadania J46 wiemy, że
  
::<math>N =  
+
::<math>(- 3 \mid m) =
 
\begin{cases}
 
\begin{cases}
  {\large\frac{p - 5}{4}} & \text{ gdy } \; p \equiv 1 \, \pmod{4} \\
+
\;\;\: 1 & \text{gdy } m = 6 k + 1 \\
  {\large\frac{p - 3}{4}} & \text{ gdy } \; p \equiv 3 \, \pmod{4} \\
+
\;\;\: 0 & \text{gdy } m = 6 k + 3 \\
 +
      - 1 & \text{gdy } m = 6 k + 5
 
\end{cases}</math>
 
\end{cases}</math>
  
Powyższy wynik można zapisać w&nbsp;postaci
+
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
  
::<math>N = \left\lfloor {\small\frac{p - 3}{4}} \right\rfloor</math>
+
::<math>U_{m - (- 3 \mid m)} = U_{6 k + 1 - 1} = U_{6 k} = 0</math>
  
'''Punkt 2.'''
+
W drugim przypadku, gdy <math>m = 6 k + 5</math>, dostajemy
 +
 
 +
::<math>U_{m - (- 3 \mid m)} = U_{6 k + 5 + 1} = U_{6 (k + 1)} = 0</math>
  
Chcemy znaleźć ilość takich liczb <math>k \in \{ 1, 2, \ldots, p - 2 \}</math>, dla których
+
Zatem dla dowolnej liczby nieparzystej <math>m</math> niepodzielnej przez <math>3</math> jest
  
::<math>\left( {\small\frac{k}{p}} \right)_{\small{\!\! L}} = \left( {\small\frac{k + 1}{p}} \right)_{\small{\!\! L}} = - 1</math>
+
::<math>U_{m - (- 3 \mid m)} \equiv 0 \pmod{m}</math>
  
Ilość liczb <math>k</math> spełniających powyższy warunek łatwo zapisać korzystając z&nbsp;symbolu Legendre'a
+
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
  
::<math>N = {\small\frac{1}{4}} \sum_{k = 1}^{p - 2} \left[ - 1 + \left( {\small\frac{k}{p}} \right)_{\small{\!\! L}} \right] \left[ - 1 + \left( {\small\frac{k + 1}{p}} \right)_{\small{\!\! L}} \right]</math>
+
'''for'''(k = 1, 9, s = 0; '''forstep'''(m = 3, 10^k, 2, '''if'''( m%6 <> 3, s = s + !'''isprime'''(m) )); '''print'''(s))
  
Tylko w&nbsp;przypadku, gdy obie liczby <math>k</math> i <math>k + 1</math> są liczbami niekwadratowymi modulo <math>p</math>, iloczyn wyrażeń w&nbsp;nawiasach kwadratowych jest różny od zera i&nbsp;równy <math>4</math> (stąd czynnik <math>{\small\frac{1}{4}}</math> przed sumą).
 
  
::<math>4 N = \sum_{k = 1}^{p - 2} \left[ 1 - \left( {\small\frac{k}{p}} \right)_{\small{\!\! L}} - \left( {\small\frac{k + 1}{p}} \right)_{\small{\!\! L}} + \left( {\small\frac{k}{p}} \right)_{\small{\!\! L}} \left( {\small\frac{k + 1}{p}} \right)_{\small{\!\! L}} \right]</math>
 
  
<div style="margin-top: 1em; margin-bottom: 1em;">
+
<span style="font-size: 110%; font-weight: bold;">Zadanie L28</span><br/>
:::<math>\; = p - 2 - \sum_{k = 1}^{p - 2} \left( {\small\frac{k}{p}} \right)_{\small{\!\! L}} - \sum_{k = 1}^{p - 2} \left( {\small\frac{k + 1}{p}} \right)_{\small{\!\! L}} + \sum_{k = 1}^{p - 2} \left( {\small\frac{k}{p}} \right)_{\small{\!\! L}} \left( {\small\frac{k + 1}{p}} \right)_{\small{\!\! L}}</math>
+
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
</div>
 
  
Wartości sum wyliczyliśmy już w&nbsp;punkcie 1. Zatem
+
'''for'''(k = 1, 9, s = 0; '''forstep'''(m = 3, 10^k, 2, s = s + !'''isprime'''(m)); '''print'''(s))
  
::<math>N = {\small\frac{1}{4}} \left[ p - 2 + \left( {\small\frac{- 1}{p}} \right)_{\small{\!\! L}} \right]</math>
 
  
Czyli
 
  
::<math>N =
 
\begin{cases}
 
  {\large\frac{p - 1}{4}} & \text{ gdy } \; p \equiv 1 \, \pmod{4} \\
 
  {\large\frac{p - 3}{4}} & \text{ gdy } \; p \equiv 3 \, \pmod{4} \\
 
\end{cases}</math>
 
  
Powyższy wynik można zapisać w&nbsp;postaci
 
  
::<math>N = \left\lfloor {\small\frac{p - 1}{4}} \right\rfloor</math>
+
== Metoda Selfridge'a wyboru parametrów <math>P</math> i <math>Q</math> ==
  
Co należało pokazać.<br/>
+
<span style="font-size: 110%; font-weight: bold;">Uwaga L29</span><br/>
&#9633;
+
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>.
{{\Spoiler}}
 
  
 +
Robert Baillie i&nbsp;Samuel Wagstaff przedstawili<ref name="BaillieWagstaff1"/> dwie metody wyboru parametrów dla testu Lucasa. Ograniczymy się do omówienia tylko pierwszej z&nbsp;nich (metodę zaproponował John Selfridge).
  
 +
Rozważmy ciąg <math>a_k = (- 1)^k (2 k + 1)</math>, gdzie <math>k \geqslant 2</math>, czyli <math>a_k = (5, - 7, 9, - 11, 13, - 15, \ldots)</math>. Niech <math>D</math> będzie pierwszym wyrazem ciągu <math>(a_k)</math>, dla którego jest <math>(a_k \mid m) = - 1</math>. Dla tak ustalonego <math>D</math> przyjmujemy <math>P = 1</math> i <math>Q = (1 - D) / 4</math>.
  
 +
Tabela przedstawia początkowe wartości <math>Q</math>, jakie otrzymamy, stosując tę metodę.
  
 +
::{| class="wikitable plainlinks"  style="font-size: 90%; 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>
 +
|}
  
== Symbol Jacobiego ==
 
  
<span style="font-size: 110%; font-weight: bold;">Definicja J36</span><br/>
+
Zauważmy, że
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
+
:* jeżeli liczba nieparzysta <math>m</math> jest liczbą kwadratową, to wybór <math>D</math> nie będzie możliwy
 +
:* w&nbsp;przypadku zastosowania tej metody znajdziemy tylko liczby pierwsze lub pseudopierwsze Lucasa, które spełniają kongruencję <math>U_{m + 1} \equiv 0 \pmod{m}</math>, czyli tylko część liczb pseudopierwszych Lucasa określonych w&nbsp;definicji L22
  
::<math>x^2 \equiv a \pmod{m}</math>
 
  
ma rozwiązanie, czyli istnieje taka liczba <math>k \in \mathbb{Z}</math>, że <math>m \mid (k^2 - a)</math>.
+
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
  
Powiemy, że liczba <math>a</math> jest liczbą niekwadratową modulo <math>m</math>, jeżeli kongruencja
+
::<math> a_{k+1} =
 +
  \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>
  
::<math>x^2 \equiv a \pmod{m}</math>
+
możemy łatwo napisać odpowiednią funkcję znajdującą liczby <math>P, Q</math> według tej metody.
  
nie ma rozwiązania.
+
<span style="font-size: 90%; color:black;">MethodA(m) =
 +
{
 +
'''local'''(a, js);
 +
a = 5;
 +
'''while'''( 1,
 +
        js = jacobi(a, m);
 +
        '''if'''( js == 0  &&  a % m <> 0, '''return'''([0, 0]) );
 +
        '''if'''( js == -1, '''return'''([1, (1 - a)/4]) );
 +
        a = -a - 2*'''sign'''(a);
 +
      );
 +
}</span>
  
 +
Wyjaśnienia wymaga druga linia kodu w&nbsp;pętli <code>while</code>. Wiemy, że (zobacz J42)
  
 +
::<math>(a \mid m) = 0 \quad \qquad \Longleftrightarrow \quad \qquad \gcd (a, m) > 1</math>
  
<span style="font-size: 110%; font-weight: bold;">Uwaga J37</span><br/>
+
Jednak z&nbsp;faktu, że <math>\gcd (a, m) > 1</math> nie wynika natychmiast, że liczba <math>m</math> jest liczbą złożoną. Rozważmy dwa przypadki: gdy <math>m \mid a</math> i <math>m \nmid a</math>.
Prosta funkcja pozwala łatwo sprawdzić, czy liczba <math>a</math> jest liczbą kwadratową modulo <math>m</math>.
 
  
<span style="font-size: 90%; color:black;">isQR(a, m) =
+
Gdy <math>\gcd (a, m) > 1</math> i <math>m \mid a</math>, to <math>\gcd (a, m) = \gcd (k \cdot m, m) = m > 1</math> i&nbsp;nie jesteśmy w&nbsp;stanie rozstrzygnąć, czy liczba <math>m</math> jest liczbą pierwszą, czy złożoną. Widać to dobrze na prostych przykładach
\\ funkcja zwraca 1, gdy a jest liczbą kwadratową modulo m,
 
\\ -1, gdy a jest liczbą niekwadratową i 0, gdy gcd(a, m) > 1
 
{
 
'''local'''(w);
 
'''if'''( '''gcd'''(a, m) > 1, '''return'''(0) ); \\ liczba nie jest ani QR, ani QNR
 
w = -1;
 
'''for'''(k = 1, '''floor'''(m/2), '''if'''( (k^2 - a)%m == 0, w = 1; '''break'''() ));
 
'''return'''(w);
 
}</span>
 
  
 +
::<math>\gcd (7, 7) = \gcd (14, 7) = 7 > 1</math>
  
 +
::<math>\gcd (15, 15) = \gcd (30, 15) = 15 > 1</math>
  
<span style="font-size: 110%; font-weight: bold;">Uwaga J38</span><br/>
+
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
Ponieważ często można spotkać definicję liczb kwadratowych i&nbsp;niekwadratowych modulo <math>m</math>, w&nbsp;której warunek <math>\gcd (a, m) = 1</math> zostaje pominięty, to Czytelnik powinien zawsze upewnić się, jaka definicja jest stosowana. Najczęściej w&nbsp;takim przypadku liczba <math>0</math> nie jest uznawana za liczbę kwadratową modulo <math>m</math>.
 
  
Przykładowo:
+
::<math>\gcd (a, m) = \gcd (k \cdot m + r, m) = \gcd (r, m) = d</math>
  
::<math>\left\{ 0^2, 1^2, 2^2, 3^2, 4^2, 5^2, 6^2, 7^2, 8^2, 9^2 \right\} \equiv \left\{ 0, 1, 4, 9, 6, 5, 6, 9, 4, 1 \right\} \pmod{10}</math>
+
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ą.
  
Liczby kwadratowe modulo <math>10</math> to <math>\left\{ 1, 9 \right\}</math>, a&nbsp;niekwadratowe to <math>\left\{ 3, 7 \right\}</math>. Liczby <math>\left\{ 0, 2, 4, 5, 6, 8 \right\}</math> nie są ani liczbami kwadratowymi, ani liczbami niekwadratowymi modulo <math>10</math>.
+
Omawiana linia kodu zapewnia wysłanie informacji o&nbsp;tym, że liczba <math>m</math> jest liczbą złożoną (zwrot wektora [0, 0]). W&nbsp;przypadku, gdy nie mamy takiej pewności, kontynuujemy szukanie liczby <math>a</math>, takiej że <math>(a \mid m) = - 1</math>, pozostawiając zbadanie pierwszości liczby <math>m</math> na kolejnym etapie testowania.
  
Jeśli odrzucimy warunek <math>\gcd (a, m) = 1</math>, to liczbami kwadratowymi modulo <math>10</math> będą <math>\left\{ 0, 1, 4, 5, 6, 9 \right\}</math>, a&nbsp;niekwadratowymi <math>\left\{ 2, 3, 7, 8 \right\}</math>.
 
  
Inny przykład. Niech <math>m = 210 = 2 \cdot 3 \cdot 5 \cdot 7</math>. W&nbsp;zależności od przyjętej definicji najmniejszą liczbą niekwadratową modulo <math>m</math> będzie albo <math>11</math>, albo <math>2</math>.
+
Uważny Czytelnik dostrzeże, że nie zbadaliśmy, czy spełniony jest warunek <math>\gcd (m, Q) = 1</math>. Nie musimy tego robić, bo zwracana przez funkcję <code>MethodA()</code> liczba <math>Q</math> jest względnie pierwsza z <math>m</math>. Omówimy ten problem dokładnie w&nbsp;zadaniu L30. Poniżej pokażemy, że nawet gdyby było <math>\gcd (m, Q) > 1</math>, to złożona liczba <math>m</math> nie zostanie uznana za liczbę pseudopierwszą Lucasa.
  
 +
Zauważmy, że jeżeli <math>m</math> jest liczbą złożoną i&nbsp;ma dzielnik pierwszy <math>p < m</math>, który dzieli <math>Q</math>, to <math>p \mid Q</math> i <math>p \nmid P</math> (bo <math>P = 1</math>), zatem <math>p \nmid U_k</math> dla <math>k \geqslant 1</math> (zobacz L17), czyli nie może być
  
 +
::<math>U_{m + 1} (1, Q) \equiv 0 \pmod{m}</math>
  
<span style="font-size: 110%; font-weight: bold;">Zadanie J39</span><br/>
+
bo mielibyśmy
Niech liczby <math>m, n \in \mathbb{Z}_+</math> i <math>\gcd (m, n) = 1</math>. Pokazać, że liczba <math>a \in \mathbb{Z}</math> jest liczbą kwadratową modulo <math>m n</math> wtedy i&nbsp;tylko wtedy, gdy jest liczbą kwadratową modulo <math>m</math> i&nbsp;modulo <math>n</math>.
 
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Rozwiązanie|Hide=Ukryj rozwiązanie}}
+
::<math>U_{m + 1} (1, Q) \equiv 0 \pmod{p}</math>
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}}
 
  
 +
a to jest niemożliwe. Zatem program wykorzystujący twierdzenie L20 wykryje złożoność liczby <math>m</math>.
  
 +
Łatwo pokażemy, że nie jest możliwe, aby liczba <math>m</math> była liczbą pierwszą i&nbsp;była dzielnikiem <math>Q</math>. Jeżeli <math>m</math> jest liczbą pierwszą, to istnieje dokładnie <math>\tfrac{m - 1}{2}</math> liczb kwadratowych modulo <math>p</math> i <math>\tfrac{m - 1}{2}</math> liczb niekwadratowych modulo <math>p</math>, zatem rozpoczynając od wyrazu <math>a_2</math> możemy dojść co najwyżej do wyrazu o&nbsp;indeksie <math>k = \tfrac{m - 1}{2} + 2</math>, czyli
  
<span style="font-size: 110%; font-weight: bold;">Definicja J40</span><br/>
+
::<math>| a_k | \leqslant m + 4</math>
Symbol Jacobiego<ref name="jacobi1"/> <math>\left( {\small\frac{a}{n}} \right)_{\small{\!\! J}}</math> jest uogólnieniem symbolu Legendre'a <math>\left( {\small\frac{a}{p}} \right)_{\small{\!\! L}}</math> dla dodatnich liczb nieparzystych.
 
Niech <math>n = \prod_i p_i^{\alpha_i}</math> będzie rozkładem liczby <math>n</math> na czynniki pierwsze, wtedy
 
  
::<math>\left( {\small\frac{a}{n}} \right)_{\small{\!\! J}} = \prod_i \left( {\small\frac{a}{p_i}} \right)_{\small{\!\! L}}^{\!\! \alpha_i}</math>
+
Skąd wynika, że
  
 +
::<math>| Q | = \left| {\small\frac{1 - a_k}{4}} \right| \leqslant {\small\frac{m + 5}{4}} < m</math>
  
 +
Ostatnia nierówność jest prawdziwa dla <math>m > {\small\frac{5}{3}}</math>, czyli dla wszystkich liczb pierwszych. Ponieważ <math>| Q | < m</math>, w&nbsp;przypadku gdy <math>m</math> jest liczbą pierwszą, to <math>m</math> nie może być dzielnikiem liczby <math>Q</math>.
  
<span style="font-size: 110%; font-weight: bold;">Uwaga J41</span><br/>
 
Zauważmy, że w&nbsp;przypadku gdy <math>n = 1</math>, po prawej stronie mamy „pusty” iloczyn (bez jakiegokolwiek czynnika). Podobnie jak „pustej” sumie przypisujemy wartość zero, tak „pustemu” iloczynowi przypisujemy wartość jeden. Zatem dla dowolnego <math>a \in \mathbb{Z}</math> jest <math>\left( {\small\frac{a}{1}} \right)_{\small{\!\! J}} = 1</math>.
 
  
  
 +
<span style="font-size: 110%; font-weight: bold;">Zadanie L30</span><br/>
 +
Pokazać, że w&nbsp;przypadku, gdy dla kolejnych liczb <math>a_k = (- 1)^k (2 k + 1)</math> sprawdzamy, czy konsekwencją <math>(a_k \mid m) = 0</math> jest złożoność liczby <math>m</math>, to dla każdej liczby <math>Q</math> wyznaczonej metodą Selfridge'a jest <math>\gcd (Q, m) = 1</math>.
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J42*</span><br/>
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Rozwiązanie|Hide=Ukryj rozwiązanie}}
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
+
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: left; margin-right: auto;"
+
::{| class="wikitable plainlinks"  style="font-size: 90%; text-align: center; margin-right: auto;"
 +
! <math>\boldsymbol{k}</math> !! <math>\boldsymbol{0}</math> !!  !!  !!  !!  !!  !!  !!  !!  !!  !! <math>\boldsymbol{(m-1)/2}</math> !!  !!  !!  !!  !!  !!  !!  !!  !!  !! <math>\boldsymbol{m-1}</math>
 
|-
 
|-
| &nbsp;&nbsp;1.&nbsp;&nbsp; || <math>\left( {\small\frac{a}{n}} \right)_{\small{\!\! J}} \,\, = \,\, 0 \quad \Longleftrightarrow \quad \gcd (a, n) > 1</math>
+
! <math>\boldsymbol{k}</math>
 +
| <math>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>
 
|-
 
|-
| &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>
+
! <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>
 
|-
 
|-
| &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>
+
! <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>
| &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>
+
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>.
|-
+
 
| &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>
 
|}
 
  
 +
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>m = 3 , \;\; (5 \mid 3) = - 1 , \;\; Q = - 1 , \;\; \gcd (m, Q) = 1</math>
  
<span style="font-size: 110%; font-weight: bold;">Uwaga J43</span><br/>
+
::<math>m = 5 , \;\; (5 \mid 5) = 0 , \;\; (- 7 \mid 5) = - 1 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1 \;\;</math> (zauważmy, że <math>(5 \mid 5) = 0</math> nie pozwala wnioskować o&nbsp;złożoności)
Zauważmy, że poza zmienionym założeniem tabela z&nbsp;powyższego twierdzenia i&nbsp;tabela z&nbsp;twierdzenia J29 różnią się jedynie punktem czwartym. Oczywiście jest to tylko podobieństwo formalne – symbol Legendre'a i&nbsp;symbol Jacobiego są różnymi funkcjami.
 
  
 +
::<math>m = 7 , \;\; (5 \mid 7) = - 1 , \;\; Q = - 1 , \;\; \gcd (m, Q) = 1</math>
  
 +
::<math>m = 9 , \;\; </math> (liczba kwadratowa)
  
<span style="font-size: 110%; font-weight: bold;">Uwaga J44</span><br/>
+
::<math>m = 11 , \;\; (- 11 \mid 11) = 0 , \;\; (13 \mid 11) = - 1 , \;\; Q = - 3 , \;\; \gcd (m, Q) = 1 \;\;</math> (zauważmy, że <math>(- 11 \mid 11) = 0</math> nie pozwala wnioskować o&nbsp;złożoności)
Zauważmy, że w&nbsp;przypadku, gdy <math>m</math> jest liczbą nieparzystą
 
  
:* jeżeli <math>\left( {\small\frac{a}{m}} \right)_{\small{\!\! J}} = - 1</math>, to <math>a</math> jest liczbą niekwadratową modulo <math>m</math>
+
::<math>m = 13 , \;\; (5 \mid 13) = - 1 , \;\; Q = - 1 , \;\; \gcd (m, Q) = 1</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>
 
  
Przykład: jeżeli <math>\gcd (a, m) = 1</math>, to <math>\left( {\small\frac{a}{m^2}} \right)_{\small{\!\! J}} = \left( {\small\frac{a}{m}} \right)_{\small{\!\! J}}^2 = + 1</math>, ale <math>a</math> może być liczbą niekwadratową modulo <math>m^2</math>.
+
::<math>m = 15 , \;\; \boldsymbol{(5 \mid 15) = 0} , \;\; (13 \mid 15) = - 1 , \;\; Q = - 3 , \;\; \gcd (m, Q) = 3 \;\;</math> (gdyby nie zbadano złożoności)
  
Modulo <math>9</math> liczbami niekwadratowymi są: <math>2, 5, 8</math>. Modulo <math>25</math> liczbami niekwadratowymi są: <math>2, 3, 7, 8, 12, 13, 17, 18, 22, 23</math>.
+
::<math>m = 17 , \;\; (5 \mid 17) = - 1 , \;\; Q = - 1 , \;\; \gcd (m, Q) = 1</math>
  
 +
::<math>m = 19 , \;\; (- 7 \mid 19) = - 1 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1</math>
  
 +
::<math>m = 21 , \;\; \boldsymbol{(- 7 \mid 21) = 0} , \;\; (- 11 \mid 21) = - 1 , \;\; Q = 3 , \;\; \gcd (m, Q) = 3 \;\;</math> (gdyby nie zbadano złożoności)
  
<span style="font-size: 110%; font-weight: bold;">Uwaga J45</span><br/>
 
Wszystkie liczby kwadratowe i&nbsp;niekwadratowe modulo <math>m</math> można łatwo znaleźć, wykorzystując prosty program:
 
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Pokaż kod|Hide=Ukryj kod}}
+
Niech <math>m \geqslant 23</math>. Wiemy, że w&nbsp;ciągu <math>(5, - 7, 9, \ldots, \pm m, \mp (m + 2), \ldots, - (2 m - 3), 2 m - 1)</math> wystąpią liczby <math>a_k</math> takie, że <math>(a_k \mid m) = - 1</math>. Warunek <math>(a_k \mid m) = 0</math> oznacza, że <math>(2 k + 1 \mid m) = 0</math>, bo
<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}}
 
  
 +
::<math>(a_k \mid m) = ((- 1)^k (2 k + 1) \mid m) = ((- 1)^k \mid m) \cdot (2 k + 1 \mid m) = (- 1 \mid m)^k \cdot (2 k + 1 \mid m) = \pm (2 k + 1 \mid m)</math>
  
 +
Jeżeli będą spełnione warunki <math>(a_k \mid m) = 0</math> i <math>R_m (a_k) \neq 0</math>, to liczba <math>m</math> będzie liczbą złożoną.
  
<span style="font-size: 110%; font-weight: bold;">Zadanie J46</span><br/>
+
Wypiszmy kolejne próby dla <math>m \geqslant 23</math>. Liczba <math>r</math> jest numerem próby.
Pokazać, że
 
  
::<math>\left( {\small\frac{- 3}{m}} \right)_{\small{\!\! J}} = \left( {\small\frac{- 12}{m}} \right)_{\small{\!\! J}} =
+
::<math>r = 1 , \;\; a_{r + 1} = 5</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>
 
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Rozwiązanie|Hide=Ukryj rozwiązanie}}
+
::{| border="0"
Zauważmy, że
+
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(5 \mid m) = 1</math> || <math>5 \nmid m \quad</math> || przechodzimy do kolejnego wyrazu ciągu <math>(a_k)</math>
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(5 \mid m) = 0</math> || <math>5 \mid m</math> || '''koniec'''
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(5 \mid m) = - 1 \quad</math> || <math>5 \nmid m</math> || <math>D = 5 , \;\; Q = - 1 , \;\; \gcd (m, Q) = 1 , \;\;</math> '''koniec'''
 +
|}
  
::<math>\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>r = 2 , \;\; a_{r + 1} = - 7</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>
+
::{| border="0"
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(- 7 \mid m) = 1</math> || <math>7 \nmid m \quad</math> || przechodzimy do kolejnego wyrazu ciągu <math>(a_k)</math>
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(- 7 \mid m) = 0</math> || <math>7 \mid m</math> || '''koniec'''
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(- 7 \mid m) = - 1 \quad</math> || <math>7 \nmid m</math> || <math>D = -7 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1 , \;\;</math> '''koniec'''
 +
|}
  
::::<math>\; = (- 1)^{m - 1} \cdot \left( {\small\frac{m}{3}} \right)_{\small{\!\! J}}</math>
+
::<math>r = 3</math>, <math>a_{r + 1} = 9</math>
  
::::<math>\; = \left( {\small\frac{m}{3}} \right)_{\small{\!\! J}}</math>
+
::{| border="0"
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(9 \mid m) = 1</math> || <math>3 \nmid m \quad</math> || przechodzimy do kolejnego wyrazu ciągu <math>(a_k)</math>
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(9 \mid m) = 0</math> || <math>3 \mid m</math> || '''koniec'''
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(9 \mid m) \neq - 1 \quad</math> || - - - - || bo <math>9</math> jest liczbą kwadratową
 +
|}
  
bo <math>m</math> jest liczbą nieparzystą.
 
  
Rozważmy liczby nieparzyste <math>m</math> postaci <math>6 k + r</math>, gdzie <math>r = 1, 3, 5</math>. Mamy
+
Po wykonaniu trzech prób niezakończonych sukcesem (tzn. wykryciem złożoności <math>m</math> lub ustaleniem wartości liczb <math>D</math> i <math>Q</math>) wiemy, że <math>m</math> nie jest podzielna przez żadną z&nbsp;liczb pierwszych <math>p = 3, 5, 7</math>.
  
::<math>\left( {\small\frac{- 3}{m}} \right)_{\small{\!\! J}} = \left( {\small\frac{m}{3}} \right)_{\small{\!\! J}}</math>
+
::<math>r</math>-ta próba, gdzie <math>r \geqslant 4 , \;\;</math> wyraz <math>a_{r + 1}</math>
  
::::<math>\; = \left( {\small\frac{6 k + r}{3}} \right)_{\small{\!\! J}}</math>
+
::{| border="0"
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(a_{r + 1} \mid m) = 1</math> || żadna liczba pierwsza <math>p \leqslant | a_{r + 1} | = 2 r + 3</math> nie dzieli liczby <math>m \quad</math> &nbsp;&nbsp;&nbsp; || przechodzimy do kolejnego wyrazu ciągu <math>(a_k)</math>
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(a_{r + 1} \mid m) = 0</math> || A. jeżeli <math>m \mid a_{r + 1}</math><sup>( * )</sup><br/>B. jeżeli <math>m \nmid a_{r + 1}</math> || A. przechodzimy do kolejnego wyrazu ciągu <math>(a_k)</math> <br/> B. <math>a_{r + 1} \mid m</math><sup>( ** )</sup>, '''koniec'''
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(a_{r + 1} \mid m) = - 1 \quad</math> || żadna liczba pierwsza <math>p \leqslant | a_{r + 1} | = 2 r + 3</math> nie dzieli liczby <math>m \quad</math> &nbsp;&nbsp;&nbsp;  || <math>D = a_{r + 1}</math>, <math>Q = {\small\frac{1 - a_{r + 1}}{4}}</math>, '''koniec'''
 +
|}
  
::::<math>\; = \left( {\small\frac{r}{3}} \right)_{\small{\!\! J}}</math>
+
<sup>( * )</sup> jest to możliwe tylko dla <math>a_{r + 1} = a_{(m - 1) / 2} = m</math>
  
::::<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>
\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
 
 
 
::<math>\left( {\small\frac{1}{3}} \right)_{\small{\!\! J}} = 1</math>
 
 
 
::<math>\left( {\small\frac{3}{3}} \right)_{\small{\!\! J}} = 0</math>
 
  
::<math>\left( {\small\frac{5}{3}} \right)_{\small{\!\! J}} = \left( {\small\frac{2}{3}} \right)_{\small{\!\! J}} = (- 1)^{\tfrac{9 - 1}{8}} = - 1</math>
 
  
Łatwo zauważamy, że
+
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
  
::<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>
+
::<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>
  
Co należało pokazać.<br/>
+
Przedostatnia (ostra) nierówność jest prawdziwa dla wszystkich <math>r</math> naturalnych.<br/>
 
&#9633;
 
&#9633;
 
{{\Spoiler}}
 
{{\Spoiler}}
Linia 1380: Linia 1371:
  
  
<span style="font-size: 110%; font-weight: bold;">Zadanie J47</span><br/>
+
<span style="font-size: 110%; font-weight: bold;">Zadanie L31</span><br/>
Pokazać, że
+
Zmodyfikujmy metodę Selfridge'a w&nbsp;taki sposób, że będziemy rozpoczynali próby nie od wyrazu <math>a_2 = 5</math>, ale od wyrazu <math>a_3 = - 7</math>. Pokazać, że w&nbsp;przypadku, gdy dla kolejnych liczb <math>a_k = (- 1)^k (2 k + 1)</math> sprawdzamy, czy konsekwencją <math>(a_k \mid m) = 0</math> jest złożoność liczby <math>m</math>, to dla każdej liczby <math>Q</math> wyznaczonej tak zmodyfikowaną metodą Selfridge'a jest <math>\gcd (Q, m) = 1</math>.
  
::<math>\left( {\small\frac{3}{m}} \right)_{\small{\!\! J}} =  
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Rozwiązanie|Hide=Ukryj rozwiązanie}}
\begin{cases}
+
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ą).
\;\;\: 1 & \text{gdy } m = 12 k \pm 1 \\
 
\;\;\: 0 & \text{gdy } m = 12 k \pm 3 \\
 
      - 1 & \text{gdy } m = 12 k \pm 5
 
\end{cases}</math>
 
  
 +
::<math>m = 3 , \;\; (- 7 \mid 3) = - 1 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1</math>
  
::<math>\left( {\small\frac{5}{m}} \right)_{\small{\!\! J}} =
+
::<math>m = 5 , \;\; (- 7 \mid 5) = - 1 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1</math>
\begin{cases}
 
\;\;\: 1 & \text{gdy } m = 10 k \pm 1 \\
 
\;\;\: 0 & \text{gdy } m = 10 k + 5 \\
 
      - 1 & \text{gdy } m = 10 k \pm 3
 
\end{cases}</math>
 
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Rozwiązanie|Hide=Ukryj rozwiązanie}}
+
::<math>m = 7 , \;\; (- 7 \mid 7) = 0 , \;\; (- 11 \mid 7) = - 1 , \;\; Q = 3 , \;\; \gcd (m, Q) = 1</math> (zauważmy, że <math>(- 7 \mid 7) = 0</math> nie pozwala wnioskować o&nbsp;złożoności)
  
'''Punkt 1.'''
+
::<math>m = 9 , \;\; </math> (liczba kwadratowa)
  
Przy wyliczaniu symboli Legendre'a i&nbsp;Jacobiego, zawsze warto sprawdzić, czy da się ustalić przystawanie liczb modulo <math>4</math>. W&nbsp;tym przypadku mamy
+
::<math>m = 11 , \;\; (- 11 \mid 11) = 0 , \;\; (13 \mid 11) = - 1 , \;\; Q = - 3 , \;\; \gcd (m, Q) = 1 \;\;</math> (zauważmy, że <math>(- 11 \mid 11) = 0</math> nie pozwala wnioskować o&nbsp;złożoności)
  
::<math>3 \equiv 3 \pmod{4}</math>
+
::<math>m = 13 , \;\; (- 7 \mid 13) = - 1 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1</math>
  
i odpowiednio dla różnych postaci liczby <math>m</math> jest
+
::<math>m = 15 , \;\; \boldsymbol{(9 \mid 15) = 0} , \;\; (13 \mid 15) = - 1 , \;\; Q = - 3 , \;\; \gcd (m, Q) = 3 \;\;</math> (gdyby nie zbadano złożoności)
  
::<math>m = 12 k + 1 \equiv 1 \pmod{4}</math>
+
::<math>m = 17 , \;\; (- 7 \mid 17) = - 1 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1</math>
  
::<math>m = 12 k + 5 \equiv 1 \pmod{4}</math>
+
::<math>m = 19 , \;\; (- 7 \mid 19) = - 1 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1</math>
  
::<math>m = 12 k + 7 \equiv 3 \pmod{4}</math>
+
::<math>m = 21 , \;\; \boldsymbol{(- 7 \mid 21) = 0} , \;\; (- 11 \mid 21) = - 1 , \;\; Q = 3 , \;\; \gcd (m, Q) = 3 \;\;</math> (gdyby nie zbadano złożoności)
  
::<math>m = 12 k + 11 \equiv 3 \pmod{4}</math>
 
  
Ułatwi nam to znacznie wykonywanie przekształceń (zobacz J42 p.9)
+
Niech <math>m \geqslant 23</math>. Wiemy, że w&nbsp;ciągu <math>( - 7, 9, \ldots, \pm m, \mp (m + 2), \ldots, - (2 m - 3), 2 m - 1)</math> wystąpią liczby <math>a_k</math> takie, że <math>(a_k \mid m) = - 1</math>. Warunek <math>(a_k \mid m) = 0</math> oznacza, że <math>(2 k + 1 \mid m) = 0</math>, bo
  
<div style="margin-top: 1em; margin-bottom: 1em;">
+
::<math>(a_k \mid m) = ((- 1)^k (2 k + 1) \mid m) = ((- 1)^k \mid m) \cdot (2 k + 1 \mid m) = (- 1 \mid m)^k \cdot (2 k + 1 \mid m) = \pm (2 k + 1 \mid m)</math>
::<math>\left( {\small\frac{3}{m}} \right)_{\small{\!\! J}} = \left( {\small\frac{3}{12 k + 1}} \right)_{\small{\!\! J}} = (+ 1) \cdot \left( {\small\frac{12 k + 1}{3}} \right)_{\small{\!\! J}} = \left( {\small\frac{1}{3}} \right)_{\small{\!\! J}} = 1</math>
 
</div>
 
  
<div style="margin-top: 1em; margin-bottom: 1em;">
+
Jeżeli będą spełnione warunki <math>(a_k \mid m) = 0</math> i <math>R_m (a_k) \neq 0</math>, to liczba <math>m</math> będzie liczbą złożoną.
::<math>\left( {\small\frac{3}{m}} \right)_{\small{\!\! J}} = \left( {\small\frac{3}{12 k + 5}} \right)_{\small{\!\! J}} = (+ 1) \cdot \left( {\small\frac{12 k + 5}{3}} \right)_{\small{\!\! J}} = \left( {\small\frac{5}{3}} \right)_{\small{\!\! J}} = \left( {\small\frac{2}{3}} \right)_{\small{\!\! J}} = - 1</math>
 
</div>
 
  
<div style="margin-top: 1em; margin-bottom: 1em;">
+
Wypiszmy kolejne próby dla <math>m \geqslant 23</math>. Liczba <math>r</math> jest numerem próby.
::<math>\left( {\small\frac{3}{m}} \right)_{\small{\!\! J}} = \left( {\small\frac{3}{12 k + 7}} \right)_{\small{\!\! J}} = (- 1) \cdot \left( {\small\frac{12 k + 7}{3}} \right)_{\small{\!\! J}} = - \left( {\small\frac{7}{3}} \right)_{\small{\!\! J}} = - \left( {\small\frac{1}{3}} \right)_{\small{\!\! J}} = - 1</math>
 
</div>
 
  
<div style="margin-top: 1em; margin-bottom: 1em;">
+
::<math>r = 1 , \;\; a_{r + 2} = - 7</math>
::<math>\left( {\small\frac{3}{m}} \right)_{\small{\!\! J}} = \left( {\small\frac{3}{12 k + 11}} \right)_{\small{\!\! J}} = (- 1) \cdot \left( {\small\frac{12 k + 11}{3}} \right)_{\small{\!\! J}} = - \left( {\small\frac{11}{3}} \right)_{\small{\!\! J}} = - \left( {\small\frac{2}{3}} \right)_{\small{\!\! J}} = 1</math>
 
</div>
 
  
'''Punkt 2.'''
+
::{| border="0"
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(- 7 \mid m) = 1</math> || <math>7 \nmid m \quad</math> || przechodzimy do kolejnego wyrazu ciągu <math>(a_k)</math>
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(- 7 \mid m) = 0</math> || <math>7 \mid m</math> || '''koniec'''
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(- 7 \mid m) = - 1 \quad</math> || <math>7 \nmid m</math> || <math>D = - 7 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1 , \;\;</math> '''koniec'''
 +
|}
  
Ponieważ <math>5 \equiv 1 \!\! \pmod{4}</math>, to nie ma już znaczenia, czy <math>m \equiv 1 \!\! \pmod{4}</math>, czy też <math>m \equiv 3 \!\! \pmod{4}</math>. Otrzymujemy natychmiast (zobacz J42 p.9)
+
::<math>r = 2 , \;\; a_{r + 2} = 9</math>
  
<div style="margin-top: 1em; margin-bottom: 1em;">
+
::{| border="0"
::<math>\left( {\small\frac{5}{m}} \right)_{\small{\!\! J}} = (+ 1) \cdot \left( {\small\frac{m}{5}} \right)_{\small{\!\! J}} = \left( {\small\frac{m}{5}} \right)_{\small{\!\! J}}</math>
+
|-style=height:2em
</div>
+
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(9 \mid m) = 1</math> || <math>3 \nmid m \quad</math> || przechodzimy do kolejnego wyrazu ciągu <math>(a_k)</math>
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(9 \mid m) = 0</math> || <math>3 \mid m</math> || '''koniec'''
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(9 \mid m) \neq - 1 \quad</math> || - - - - || bo <math>9</math> jest liczbą kwadratową
 +
|}
  
Rozważmy liczby nieparzyste <math>m</math> postaci <math>10 k + r</math>, gdzie <math>r = 1, 3, 5, 7, 9</math>. Mamy
+
::<math>r = 3 , \;\; a_{r + 2} = - 11</math>
  
::<math>\left( {\small\frac{5}{m}} \right)_{\small{\!\! J}} = \left( {\small\frac{m}{5}} \right)_{\small{\!\! J}}</math>
+
::{| border="0"
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(- 11 \mid m) = 1</math> || <math>11 \nmid m \quad</math> || przechodzimy do kolejnego wyrazu ciągu <math>(a_k)</math>
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(- 11 \mid m) = 0</math> || <math>11 \mid m</math> || '''koniec'''
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(- 11 \mid m) = - 1 \quad</math> || <math>11 \nmid m</math> || <math>D = - 11 , \;\; Q = 3 , \;\; \gcd (m, Q) = 1 , \;\;</math> '''koniec''' (bo liczby złożone <math>m = 3 k</math> zostały usunięte w&nbsp;poprzedniej próbie, <math>r = 2</math>)
 +
|}
  
:::<math>\:\, \quad = \left( {\small\frac{10 k + r}{5}} \right)_{\small{\!\! J}}</math>
+
::<math>r = 4 , \;\; a_{r + 2} = 13</math>
  
:::<math>\:\, \quad = \left( {\small\frac{r}{5}} \right)_{\small{\!\! J}}</math>
+
::{| border="0"
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(13 \mid m) = 1</math> || <math>13 \nmid m \quad</math> || przechodzimy do kolejnego wyrazu ciągu <math>(a_k)</math>
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(13 \mid m) = 0</math> || <math>13 \mid m</math> || '''koniec'''
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(13 \mid m) = - 1 \quad</math> || <math>13 \nmid m</math> || <math>D = 13 , \;\; Q = - 3 , \;\; \gcd (m, Q) = 1 , \;\;</math> '''koniec''' (bo liczby złożone <math>m = 3 k</math> zostały usunięte w&nbsp;próbie o&nbsp;numerze <math>r = 2</math>)
 +
|}
 +
 
 +
::<math>r = 5 , \;\; a_{r + 2} = - 15</math>
  
:::<math>\:\, \quad =
+
::{| border="0"
\begin{cases}
+
|-style=height:2em
\;\;\: 1 & \text{gdy } r = 1 \\
+
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(- 15 \mid m) = 1</math> || <math>5 \nmid m \quad</math> || przechodzimy do kolejnego wyrazu ciągu <math>(a_k)</math>
      - 1 & \text{gdy } r = 3 \\
+
|-style=height:2em
\;\;\: 0 & \text{gdy } r = 5 \\
+
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(- 15 \mid m) = 0</math> || <math>5 \mid m</math> || '''koniec'''
      - 1 & \text{gdy } r = 7 \\
+
|-style=height:2em
\;\;\: 1 & \text{gdy } r = 9
+
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(- 15 \mid m) = - 1 \quad</math> || <math>5 \nmid m</math> || <math>D = - 15 , \;\; Q = 4 , \;\; \gcd (m, Q) = 1 , \;\;</math> '''koniec'''
\end{cases}</math>
+
|}
 +
 
 +
 
 +
Po wykonaniu pięciu prób niezakończonych sukcesem (tzn. wykryciem złożoności <math>m</math> lub ustaleniem wartości liczb <math>D</math> i <math>Q</math>) wiemy, że <math>m</math> nie jest podzielna przez żadną z&nbsp;liczb pierwszych <math>p = 3, 5, 7, 11, 13</math>.
 +
 
 +
::<math>r</math>-ta próba, gdzie <math>r \geqslant 6 , \;\;</math> wyraz <math>a_{r + 2}</math>
  
bo odpowiednio dla <math>r = 1, 3, 5, 7, 9</math> jest
+
::{| border="0"
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(a_{r + 2} \mid m) = 1</math> || żadna liczba pierwsza <math>p \leqslant | a_{r + 2} | = 2 r + 5</math> nie dzieli liczby <math>m \quad</math> &nbsp;&nbsp;&nbsp;  || przechodzimy do kolejnego wyrazu ciągu <math>(a_k)</math>
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(a_{r + 2} \mid m) = 0</math> || A. jeżeli <math>m \mid a_{r + 2}</math><sup>( * )</sup><br/>B. jeżeli <math>m \nmid a_{r + 2}</math> || A. przechodzimy do kolejnego wyrazu ciągu <math>(a_k)</math> <br/> B. <math>a_{r + 1} \mid m</math><sup>( ** )</sup>, '''koniec'''
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(a_{r + 2} \mid m) = - 1 \quad</math> || żadna liczba pierwsza <math>p \leqslant | a_{r + 2} | = 2 r + 5</math> nie dzieli liczby <math>m \quad</math> &nbsp;&nbsp;&nbsp;  || <math>D = a_{r + 2}</math>, <math>Q = {\small\frac{1 - a_{r + 2}}{4}}</math>, '''koniec'''
 +
|}
  
::<math>\left( {\small\frac{1}{5}} \right)_{\small{\!\! J}} = 1</math>
+
<sup>( * )</sup> jest to możliwe tylko dla <math>a_{r + 2} = a_{(m - 1) / 2} = m</math>
  
::<math>\left( {\small\frac{3}{5}} \right)_{\small{\!\! J}} = \left( {\small\frac{-2}{5}} \right)_{\small{\!\! J}} = (- 1)^{\tfrac{(5 - 1)(5 - 3)}{8}} = -1</math>
+
<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>
  
::<math>\left( {\small\frac{5}{5}} \right)_{\small{\!\! J}} = 0</math>
 
  
::<math>\left( {\small\frac{7}{5}} \right)_{\small{\!\! J}} = \left( {\small\frac{2}{5}} \right)_{\small{\!\! J}} = (- 1)^{\tfrac{25 - 1}{8}} = - 1</math>
+
Jeżeli nie została wykryta złożoność liczby <math>m</math>, to żadna z&nbsp;liczb pierwszych <math>p \leqslant | a_{r + 2} | = 2 r + 5</math> nie dzieli liczby <math>m</math>. Zatem <math>\gcd (Q, m) > 1</math> może być tylko w&nbsp;przypadku, gdy pewna liczba pierwsza <math>q \geqslant 2 r + 7</math> będzie wspólnym dzielnikiem liczb <math>Q</math> i <math>m</math>, ale jest to niemożliwe, bo
  
::<math>\left( {\small\frac{9}{5}} \right)_{\small{\!\! J}} = \left( {\small\frac{3}{5}} \right)_{\small{\!\! J}}^{\! 2} = 1</math>
+
::<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>
  
Co należało pokazać.<br/>
+
Przedostatnia (ostra) nierówność jest prawdziwa dla wszystkich <math>r</math> naturalnych.<br/>
 
&#9633;
 
&#9633;
 
{{\Spoiler}}
 
{{\Spoiler}}
Linia 1477: Linia 1490:
  
  
<span style="font-size: 110%; font-weight: bold;">Uwaga J48</span><br/>
+
<span style="font-size: 110%; font-weight: bold;">Uwaga L32</span><br/>
Wykorzystując podane w&nbsp;twierdzeniu J42 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.
+
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;">jacobi(a, n) =  
+
  <span style="font-size: 90%; color:black;">LucasTest(m) =  
 
  {
 
  {
  '''local'''(r, w);
+
  '''local'''(P, Q, X);
  '''if'''( n <= 0 || n % 2 == 0, '''return'''("Error") );
+
  '''if'''( m % 2 == 0, '''return'''(m == 2) );
a = a % n; \\ korzystamy ze wzoru (a|n) = (b|n), gdy a &equiv; b (mod n)
+
  '''if'''( '''issquare'''(m), '''return'''(0) ); \\ sprawdzamy, czy m nie jest liczbą kwadratową
w = 1;
+
X = MethodA(m);
  '''while'''( a <> 0,
+
P = X[1];
        '''while'''( a % 2 == 0, a = a/2; r = n % 8; '''if'''( r == 3 || r == 5, w = -w ) );
+
Q = X[2];
        \\ usunęliśmy czynnik 2 ze zmiennej a, uwzględniając, że (2|n) = -1, gdy n &equiv; 3,5 (mod 8)
+
'''if'''( P == 0, '''return'''(0) ); \\ jeżeli P = 0, to m jest liczbą złożoną
        \\ teraz zmienne a oraz n są nieparzyste
+
  '''if'''( modLucas(m + 1, P, Q, m)[1] == 0, '''return'''(1), '''return'''(0) );
        r = a; \\ zmienna r tylko przechowuje wartość a
 
        a = n;
 
        n = r;
 
        '''if'''( a % 4 == 3 && n % 4 == 3, w = -w );
 
        \\ zamieniliśmy zmienne, uwzględniając, że (a|n) = - (n|a), gdy a &equiv; n &equiv; 3 (mod 4)
 
        a = a % n;
 
      );
 
  '''if'''( n == 1, '''return'''(w), '''return'''(0) ); \\ n jest teraz równe gcd(a, n)
 
 
  }</span>
 
  }</span>
  
  
  
<span style="font-size: 110%; font-weight: bold;">Uwaga J49</span><br/>
+
<span style="font-size: 110%; font-weight: bold;">Uwaga L33</span><br/>
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.
+
Najmniejsze liczby pseudopierwsze Lucasa, które pojawiają się przy zastosowaniu metody Selfridge'a wyboru parametrów <math>P</math> i <math>Q</math>, to
  
W przyszłości symbol Legendre'a / Jacobiego będziemy zapisywali w&nbsp;formie uproszczonej <math>(a \mid m)</math> i&nbsp;nie będziemy rozróżniali tych symboli. Interpretacja zapisu jest prosta:
+
::<math>323, 377, 1159, 1829, 3827, 5459, 5777, 9071, 9179, 10877, 11419, 11663, 13919, 14839, 16109, 16211, 18407, 18971, 19043, 22499, \ldots</math>
  
:* jeżeli '''wiemy''', że <math>m</math> jest liczbą pierwszą, to symbol <math>(a \mid m)</math> jest symbolem Legendre'a
+
{{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ą złożoną, to symbol <math>(a \mid m)</math> jest symbolem Jacobiego
+
<span style="font-size: 90%; color:black;">'''forstep'''(k=1, 3*10^4, 2, '''if'''( LucasTest(k) && !'''isprime'''(k), '''print'''(k)) )</span>
:* jeżeli '''nie wiemy''', czy <math>m</math> jest liczbą pierwszą, czy złożoną, to symbol <math>(a \mid m)</math> jest symbolem Jacobiego
+
<br/>
 +
{{\Spoiler}}
  
  
  
 +
Tabela przedstawia ilość takich liczb nie większych od <math>10^n</math>
  
 +
::{| class="wikitable plainlinks"  style="font-size: 90%; text-align: right; margin-right: auto;"
 +
! <math>\boldsymbol{n}</math> !! <math>\boldsymbol{3}</math> !! <math>\boldsymbol{4}</math> !! <math>\boldsymbol{5}</math> !! <math>\boldsymbol{6}</math> !! <math>\boldsymbol{7}</math> !! <math>\boldsymbol{8}</math> !! <math>\boldsymbol{9}</math>
 +
|-
 +
| #LPSP <math>< 10^n</math> (metoda Selfridge'a) || <math>2</math> || <math>9</math> || <math>57</math> || <math>219</math> || <math>659</math> || <math>1911</math> || <math>5485</math>
 +
|}
  
== Rozwiązywanie kongruencji <math>x^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}}
 +
<span style="font-size: 90%; color:black;">'''for'''(n=3, 9, s=0; '''forstep'''(k = 1, 10^n, 2, '''if'''( LucasTest(k) && !'''isprime'''(k), s++ ) ); '''print'''("n= ", n, "  ", s) )</span>
 +
<br/>
 +
{{\Spoiler}}
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J50</span><br/>
 
Niech <math>p</math> będzie liczbą pierwszą nieparzystą, zaś <math>a</math> liczbą całkowitą taką, że <math>\gcd (a, p) = 1</math>. Kongruencja
 
  
::<math>x^2 \equiv a \pmod{p^n}</math>
 
  
ma rozwiązanie wtedy i&nbsp;tylko wtedy, gdy kongruencja
 
  
::<math>x^2 \equiv a \pmod{p}</math>
 
  
ma rozwiązanie.
+
== Liczby silnie pseudopierwsze Lucasa ==
  
{{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;">Twierdzenie L34</span><br/>
 +
Jeżeli <math>p</math> jest liczbą pierwszą nieparzystą taką, że <math>\gcd (p, Q D) = 1</math> oraz <math>p - (D \mid p) = 2^r w</math>, gdzie <math>w</math> jest liczbą nieparzystą, to spełniony jest dokładnie jeden z&nbsp;warunków
  
<math>\Large{\Longrightarrow}</math>
+
::<math>U_w \equiv 0 \pmod{p}</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
+
lub
  
::<math>r^2 \equiv a \pmod{p^n}</math>
+
::<math>V_{2^k w} \equiv 0 \pmod{p} \qquad</math> dla pewnego <math>k \in [0, r - 1]</math>
  
Ponieważ <math>p^n \mid (r^2 - a)</math>, to tym bardziej <math>p \mid (r^2 - a)</math>, co oznacza, że prawdziwa jest kongruencja
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 +
Wiemy (zobacz L20), że jeżeli <math>p</math> jest liczbą pierwszą nieparzystą taką, że <math>\gcd (p, Q D) = 1</math>, to <math>p \mid U_{p - (D \mid p)}</math>. Z&nbsp;założenia jest <math>p - (D \mid p) = 2^r w</math>, zatem <math>p \mid U_{2^r w}</math>. Ponieważ założyliśmy, że <math>p \nmid Q</math> i <math>p \nmid D</math>, to ze wzoru <math>V^2_n - D U^2_n = 4 Q^n</math> (zobacz L13 p.14) wynika natychmiast, że <math>p</math> nie może dzielić jednocześnie liczb <math>U_n</math> i <math>V_n</math>.
  
::<math>r^2 \equiv a \pmod{p}</math>
+
Korzystając ze wzoru <math>U_{2 n} = U_n V_n</math> (zobacz L13 p.11), otrzymujemy
  
Skąd wynika natychmiast, że kongruencja <math>x^2 \equiv a \!\! \pmod{p}</math> ma rozwiązanie.
+
::{| border="0"
 +
|-style=height:3em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>p \mid U_{2^r w} \;\; \Longleftrightarrow \;\; p \mid U_{2^{r - 1} w} \cdot V_{2^{r - 1} w} \quad</math> || Jeżeli <math>p \mid V_{2^{r - 1} w}</math>, to twierdzenie jest dowiedzione. Jeżeli <math>p \nmid V_{2^{r - 1} w}</math>, to <math>p \mid U_{2^{r - 1} w}</math>.
 +
|-style=height:3em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>p \mid U_{2^{r - 1} w} \;\; \Longleftrightarrow \;\; p \mid U_{2^{r - 2} w} \cdot V_{2^{r - 2} w} \quad</math> || Jeżeli <math>p \mid V_{2^{r - 2} w}</math>, to twierdzenie jest dowiedzione. Jeżeli <math>p \nmid V_{2^{r - 2} w}</math>, to <math>p \mid U_{2^{r - 2} w}</math>.
 +
|-style=height:3em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>.................</math> ||
 +
|-style=height:3em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>p \mid U_{4 w} \;\; \Longleftrightarrow \;\; p \mid U_{2 w} \cdot V_{2 w}</math> || Jeżeli <math>p \mid V_{2 w}</math>, to twierdzenie jest dowiedzione. Jeżeli <math>p \nmid V_{2 w}</math>, to <math>p \mid U_{2 w}</math>.
 +
|-style=height:3em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>p \mid U_{2 w} \;\; \Longleftrightarrow \;\; p \mid U_w \cdot V_w</math> || Jeżeli <math>p \mid V_w</math>, to twierdzenie jest dowiedzione. Jeżeli <math>p \nmid V_w</math>, to <math>p \mid U_w</math>.
 +
|}
  
<math>\Large{\Longleftarrow}</math>
+
Z powyższego wynika, że musi być spełniony jeden z wypisanych w twierdzeniu warunków.
  
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>x^2 \equiv a \pmod{p^n}</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>.
  
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
+
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:
  
::<math>x^2 \equiv a \pmod{p^{n + 1}}</math>
+
::{| border="0"
 +
|-style=height:3em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || jeżeli <math>p \mid V_{2^k w}</math>, to <math>p \nmid U_{2^k w} \;\; \text{i} \;\; U_{2^k w} = U_{2^{k - 1} w} V_{2^{k - 1} w}</math>, zatem <math>p</math> nie może być dzielnikiem żadnej z liczb <math>U_{2^{k - 1} w} \;\; \text{i} \;\; V_{2^{k - 1} w}</math>
 +
|-style=height:3em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || jeżeli <math>p \nmid U_{2^{k - 1} w} \;\; \text{i} \;\; U_{2^{k - 1} w} = U_{2^{k - 2} w} V_{2^{k - 2} w}</math>, to <math>p</math> nie może być dzielnikiem żadnej z liczb <math>U_{2^{k - 2} w} \;\; \text{i} \;\; V_{2^{k - 2} w}</math>
 +
|-style=height:3em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>.................</math> ||
 +
|-style=height:3em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || jeżeli <math>p \nmid U_{4 w} \;\; \text{i} \;\; U_{4 w} = U_{2 w} V_{2 w}</math>, to <math>p</math> nie może być dzielnikiem żadnej z liczb <math>U_{2 w} \;\; \text{i} \;\; V_{2 w}</math>
 +
|-style=height:3em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || jeżeli <math>p \nmid U_{2 w} \;\; \text{i} \;\; U_{2 w} = U_w V_w</math>, to <math>p</math> nie może być dzielnikiem żadnej z liczb <math>U_w \;\; \text{i} \;\; V_w</math>
 +
|}
  
Wiemy, że liczba <math>u_n</math> jest określona modulo <math>p^n</math>. Nie tracąc ogólności, możemy założyć, że <math>1 \leqslant u_n < p^n</math>. Wartość <math>u_n</math> może zostać wybrana dowolnie (modulo <math>p^n</math>), ale musi zostać ustalona — wymaga tego precyzja i&nbsp;czytelność dowodu. Zatem
 
  
::<math>u^2_n - a = k p^n</math>
+
Co dowodzi, że spełniony jest dokładnie jeden z <math>r + 1</math> warunków:
  
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>U_w \equiv 0 \pmod{p}</math>
  
::<math>2 u_n \cdot s - p \cdot l = - k</math>
+
::<math>V_{2^k w} \equiv 0 \pmod{p} \qquad</math> gdzie <math>k \in [0, r - 1]</math>
  
ma rozwiązanie (zobacz C74). Niech liczby <math>s_0</math> i <math>l_0</math> będą rozwiązaniem tego równania. Zatem
+
Co należało pokazać.<br/>
 
 
::<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
 
 
 
::<math>u^2_n + 2 u_n \cdot s_0 p^n \equiv a \pmod{p^{n + 1}}</math>
 
 
 
::<math>(u_n + s_0 p^n)^2 \equiv a \pmod{p^{n + 1}}</math>
 
 
 
bo <math>p^{n + 1} \mid p^{2 n}</math>. Zatem liczba <math>u_{n + 1} = u_n + s_0 p^n</math> jest rozwiązaniem kongruencji
 
 
 
::<math>x^2 \equiv a \pmod{p^{n + 1}}</math>
 
 
 
Pokazaliśmy tym samym prawdziwość tezy indukcyjnej, co kończy dowód indukcyjny.<br/>
 
 
&#9633;
 
&#9633;
 
{{\Spoiler}}
 
{{\Spoiler}}
Linia 1586: Linia 1598:
  
  
<span style="font-size: 110%; font-weight: bold;">Uwaga J51</span><br/>
+
Konsekwentnie definiujemy liczby pseudopierwsze<br/>
Dla niewielkich modułów rozwiązania dowolnej kongruencji możemy znaleźć przez bezpośrednie sprawdzenie. Omówimy teraz rozwiązania kongruencji <math>x^2 \equiv a \!\! \pmod{2^n}</math> dla <math>n = 1, 2, 3</math>. Ponieważ zakładamy, że <math>\gcd (a, m) = \gcd (a, 2^n) = 1</math>, to <math>a</math> musi być liczbą nieparzystą, zaś <math>x</math> nie może być liczbą parzystą. Istotnie, gdyby tak było, to mielibyśmy <math>0 \equiv 1 \!\! \pmod{2}</math>, bo <math>2 \mid 2^n</math>.
+
<span style="font-size: 110%; font-weight: bold;">Definicja L35</span><br/>
 +
Powiemy, że liczba złożona nieparzysta <math>m</math> jest liczbą silnie pseudopierwszą Lucasa (SLPSP) dla parametrów <math>P</math> i <math>Q</math>, jeżeli <math>\gcd (m, Q D) = 1</math> oraz <math>m - (D \mid m) = 2^r w</math>, gdzie <math>w</math> jest liczbą nieparzystą i&nbsp;spełniony jest jeden z&nbsp;warunków
  
Kongruencja
+
::<math>U_w \equiv 0 \pmod{m}</math>
  
::<math>x^2 \equiv a \pmod{2}</math>
+
lub
  
ma dokładnie jedno rozwiązanie <math>x \equiv 1 \!\! \pmod{2}</math>.
+
::<math>V_{2^k w} \equiv 0 \pmod{m} \;</math> dla pewnego <math>k \in [0, r - 1]</math>
  
Kongruencja
 
  
::<math>x^2 \equiv a \pmod{4}</math>
 
  
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ń.
+
<span style="font-size: 110%; font-weight: bold;">Uwaga L36</span><br/>
 +
Każda liczba SLPSP(<math>P, Q</math>) jest LPSP(<math>P, Q</math>). Korzystając ze zdefiniowanych wcześniej funkcji: <code>modPower(a, n, m)</code>, <code>jacobi(a, n)</code> i <code>modLucas(n, P, Q, m)</code> (zobacz K2, J48, L15), możemy napisać prosty program, który sprawdza, czy liczba <math>m</math> spełnia jeden z&nbsp;warunków podanych w&nbsp;twierdzeniu L34.
  
Kongruencja
+
<span style="font-size: 90%; color: black;">isPrimeOr<span style="background-color: #fee481;">SLPSP</span>(m, P, Q) =
 +
{
 +
'''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>x^2 \equiv a \pmod{8}</math>
 
  
ma cztery rozwiązania, gdy <math>a \equiv 1 \!\! \pmod{8}</math>. Rozwiązaniami są: <math>x \equiv 1, 3, 5, 7 \!\! \pmod{8}</math>. W&nbsp;przypadku, gdy <math>a \equiv 3, 5, 7 \!\! \pmod{8}</math> kongruencja nie ma rozwiązań.
 
  
 +
<span style="font-size: 110%; font-weight: bold;">Przykład L37</span><br/>
 +
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: 90%; text-align: right; margin-right: auto;"
 +
! &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<math>\boldsymbol{P}</math><br/><math>\boldsymbol{Q}</math>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 +
! <math>\boldsymbol{1}</math> !! <math>\boldsymbol{2}</math> !! <math>\boldsymbol{3}</math> !! <math>\boldsymbol{4}</math> !! <math>\boldsymbol{5}</math> !! <math>\boldsymbol{6}</math> !! <math>\boldsymbol{7}</math> !! <math>\boldsymbol{8}</math> !! <math>\boldsymbol{9}</math> !! <math>\boldsymbol{10}</math>
 +
|-
 +
! <math>\boldsymbol{- 5}</math>
 +
| <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>
 +
|}
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J52</span><br/>
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Pokaż kod|Hide=Ukryj kod}}
Niech <math>n \geqslant 3</math> i <math>a</math> będzie liczbą nieparzystą. Kongruencja
+
<span style="font-size: 90%; color:black;">FirstSLPSP(Stop) =
 
+
\\ najmniejsze SLPSP(P,Q) < Stop;  dla 1<=P<=10 i -5<=Q<=5
::<math>x^2 \equiv a \pmod{2^n}</math>
+
{
 
+
'''local'''(D, m, P, Q);
ma rozwiązanie wtedy i&nbsp;tylko wtedy, gdy kongruencja
+
Q = -6;
 
+
'''while'''( Q++ <= 5,
::<math>x^2 \equiv a \pmod{8}</math>
+
        '''if'''( Q == 0, '''next'''() );
 
+
        P = 0;
ma rozwiązanie.
+
        '''while'''( P++ <= 10,
 
+
              D = P^2 - 4*Q;
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
+
              '''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}}
  
<math>\Large{\Longrightarrow}</math>
+
Żółtym tłem oznaczyliśmy te najmniejsze liczby pseudopierwsze Lucasa, dla których <math>(D \mid m) = - 1</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
 
  
::<math>r^2 \equiv a \pmod{2^n}</math>
 
  
Ponieważ <math>2^n \mid (r^2 - a)</math>, gdzie <math>n \geqslant 3</math>, to tym bardziej <math>2^3 \mid (r^2 - a)</math>. Co oznacza, że prawdziwa jest kongruencja
+
<span style="font-size: 110%; font-weight: bold;">Przykład L38</span><br/>
 +
Ilość liczb SLPSP(<math>P, Q</math>) mniejszych od <math>10^9</math>
  
::<math>r^2 \equiv a \pmod{2^3}</math>
+
::{| class="wikitable plainlinks"  style="font-size: 90%; text-align: right; margin-right: auto;"
 +
! &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<math>\boldsymbol{P}</math><br/><math>\boldsymbol{Q}</math>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 +
! <math>\boldsymbol{1}</math> !! <math>\boldsymbol{2}</math> !! <math>\boldsymbol{3}</math> !! <math>\boldsymbol{4}</math> !! <math>\boldsymbol{5}</math> !! <math>\boldsymbol{6}</math> !! <math>\boldsymbol{7}</math> !! <math>\boldsymbol{8}</math> !! <math>\boldsymbol{9}</math> !! <math>\boldsymbol{10}</math>
 +
|-
 +
! <math>\boldsymbol{- 5}</math>
 +
| <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>
 +
|}
  
Skąd wynika natychmiast, że kongruencja <math>x^2 \equiv a \!\! \pmod{8}</math> ma rozwiązanie.
 
  
<math>\Large{\Longleftarrow}</math>
 
  
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
+
{{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) =
::<math>x^2 \equiv a \pmod{2^n}</math>
+
\\ 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}}
  
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;">Uwaga L39</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
  
::<math>r =  
+
:* <math>0 \leqslant P, Q < m</math>
  \begin{cases}
+
:* <math>\gcd (Q, m) = 1</math>
  0 & \text{gdy } k \text{ jest liczbą parzystą}\\
+
:* <math>P^2 - 4 Q \equiv D \pmod{m}</math>
  1 & \text{gdy } k \text{ jest liczbą nieparzystą}
+
:* <math>m</math> jest SLPSP(<math>P, Q</math>)
  \end{cases}</math>
 
  
Zauważmy, że
+
nie przekracza <math>\tfrac{4}{15} n</math>.
  
::<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>
+
Nie dotyczy to przypadku, gdy <math>m = p (p + 2)</math> jest iloczynem liczb pierwszych bliźniaczych takich, że <math>(D \mid p) = - (D \mid p + 2) = - 1</math>, wtedy mamy słabsze oszacowanie: <math>\# (P, Q) \leqslant \tfrac{1}{2} n</math>. Zauważmy, że taką sytuację łatwo wykryć, bo w&nbsp;tym przypadku <math>m + 1 = (p + 1)^2</math> jest liczbą kwadratową.
  
::::::::<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>
 
  
::::::::<math>\;\! \equiv 0 \pmod{2^{n + 1}}</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 \mid m)</math> jest równy <math>- 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
+
<span style="font-size: 90%; color:black;">StrongLucasTest(m) =
 +
{
 +
'''local'''(a, b, c, k, P, Q, r, w, X);
 +
'''if'''( m % 2 == 0, '''return'''(m == 2) );
 +
'''if'''( '''issquare'''(m), '''return'''(0) ); \\ sprawdzamy, czy liczba m nie jest kwadratowa
 +
X = MethodA(m);
 +
P = X[1];
 +
Q = X[2];
 +
'''if'''( P == 0 || '''gcd'''(m, 2*Q) > 1, '''return'''(0) ); \\ jeżeli P = 0, to m jest liczbą złożoną
 +
r = '''valuation'''(m + 1, 2); \\ znajdujemy wykładnik, z jakim liczba 2 występuje w m + 1
 +
w = (m + 1) / 2^r;
 +
X =  modLucas(w, P, Q, m);
 +
a = X[1]; \\ U_w(P, Q) % m
 +
b = X[2]; \\ V_w(P, Q) % m
 +
'''if'''( a == 0 || b == 0, '''return'''(1) ); \\ b == 0 to przypadek k == 0
 +
'''if'''( r == 1, '''return'''(0) ); \\ nie ma dalszych przypadków
 +
c = modPower(Q, w, m); \\ Q^w % m
 +
k = 0;
 +
\\ sprawdzamy warunek V_(2^k * w) %m = 0; korzystamy ze wzoru V_(2*w) = (V_w)^2 - 2*Q^w
 +
'''while'''( k++ < r,
 +
        b = (b^2 - 2*c) % m;
 +
        '''if'''( b == 0, '''return'''(1) );
 +
        c = c^2 % m;
 +
      );
 +
'''return'''(0);
 +
}</span>
  
::<math>x^2 \equiv a \pmod{2^{n + 1}}</math>
 
  
Pokazaliśmy tym samym prawdziwość tezy indukcyjnej, co kończy dowód indukcyjny.<br/>
 
&#9633;
 
{{\Spoiler}}
 
  
 +
<span style="font-size: 110%; font-weight: bold;">Uwaga L41</span><br/>
 +
Najmniejsze liczby silnie pseudopierwsze Lucasa, które otrzymujemy po zastosowaniu metody Selfridge'a wyboru parametrów <math>P</math> i <math>Q</math>, to
  
<span style="font-size: 110%; font-weight: bold;">Wniosek J53</span><br/>
+
::<math>5459, 5777, 10877, 16109, 18971, 22499, 24569, 25199, 40309, 58519, 75077, 97439, \ldots</math>
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>.
 
  
 +
{{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}}
  
  
<span style="font-size: 110%; font-weight: bold;">Uwaga J54</span><br/>
+
Tabela przedstawia ilość takich liczb nie większych od <math>10^n</math>
Niech <math>m = p^{\alpha_1}_1 \cdot \ldots \cdot p^{\alpha_s}_s</math> i <math>\gcd (a, m) = 1</math>. Z&nbsp;chińskiego twierdzenia o&nbsp;resztach (zobacz J3 i&nbsp;J11) wynika, że kongruencja <math>x^2 \equiv a \!\! \pmod{m}</math> ma rozwiązanie wtedy i&nbsp;tylko wtedy, gdy ma rozwiązanie każda z&nbsp;kongruencji
 
  
::<math>\begin{align}
+
::{| class="wikitable plainlinks"  style="font-size: 90%; text-align: right; margin-right: auto;"
x^2 & \equiv a \pmod{p^{\alpha_1}_1} \\
+
! <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>
    & \,\,\,\cdots \\
+
|-
x^2 & \equiv a \pmod{p^{\alpha_s}_s} \\
+
| #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>
\end{align}</math>
+
|}
  
Z definicji J27, twierdzeń J50 i&nbsp;J52, uwagi J51 i&nbsp;wniosku J53 otrzymujemy
+
{{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;">Twierdzenie J55</span><br/>
 
Niech <math>m \in \mathbb{Z}_+</math> i <math>\gcd (a, m) = 1</math>. Kongruencja
 
  
::<math>x^2 \equiv a \pmod{m}</math>
 
  
ma rozwiązanie wtedy i&nbsp;tylko wtedy, gdy
+
== Test BPSW ==
  
::{| border="0"
+
<span style="font-size: 110%; font-weight: bold;">Uwaga L42</span><br/>
|-style=height:1em
+
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>:
| &#9679;&nbsp;&nbsp;&nbsp; dla każdego nieparzystego dzielnika pierwszego <math>p</math> liczby <math>m</math> jest&nbsp; <math>\left( {\small\frac{a}{p}} \right)_{\small{\!\! L}} = 1</math>
 
|-style=height:1em
 
| &#9679;&nbsp;&nbsp;&nbsp; jeżeli&nbsp; <math>8 \mid m</math>, &nbsp;to&nbsp; <math>8 \mid ( a - 1 )</math>
 
|-style=height:2.5em
 
| &#9679;&nbsp;&nbsp;&nbsp; jeżeli&nbsp; <math>8 \nmid m</math>, &nbsp;ale&nbsp; <math>4 \mid m</math>, &nbsp;to&nbsp; <math>4 \mid ( a - 1 )</math>
 
|}
 
  
 +
<math>1373653, 1530787, 1987021, 2284453, 3116107, 5173601, 6787327, 11541307, 13694761, 15978007, 16070429,</math>
  
 +
<math>16879501, 25326001, 27509653, 27664033, 28527049, 54029741, 61832377, 66096253, 74927161, 80375707</math>
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J56</span><br/>
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Pokaż kod|Hide=Ukryj kod}}
Niech <math>m \in \mathbb{Z}_+</math> i <math>\gcd (a, m) = 1</math>. Kongruencja
+
<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}}
  
::<math>x^2 \equiv a \pmod{m}</math>
+
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.
  
nie ma rozwiązania wtedy i&nbsp;tylko wtedy, gdy spełniony jest co najmniej jeden z&nbsp;warunków
+
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.
  
::{| border="0"
+
Połączenie znanych nam już testów prowadzi do prostego programu
|-style=height:1em
 
| &#9679;&nbsp;&nbsp;&nbsp; jeżeli dla dowolnego nieparzystego dzielnika <math>d</math> liczby <math>m</math> jest <math>\left( {\small\frac{a}{d}} \right)_{\small{\!\! J}} = - 1</math>
 
|-style=height:1em
 
| &#9679;&nbsp;&nbsp;&nbsp; jeżeli&nbsp; <math>8 \mid m</math> &nbsp;i&nbsp; <math>8 \nmid ( a - 1 )</math>
 
|-style=height:2.5em
 
| &#9679;&nbsp;&nbsp;&nbsp; jeżeli&nbsp; <math>8 \nmid m</math>, &nbsp;ale&nbsp; <math>4 \mid m</math> &nbsp;i&nbsp; <math>4 \nmid ( a - 1 )</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: 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>
  
'''Punkt 1.'''
 
  
Z założenia <math>d \mid m</math>. Gdyby kongruencja
 
  
::<math>x^2 \equiv a \pmod{m}</math>
+
Funkcja <code>BPSWtest(m)</code> kolejno sprawdza:
  
miała rozwiązanie, to również 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>
 +
:* 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>
  
::<math>x^2 \equiv a \pmod{d}</math>
 
  
miałaby rozwiązanie, ale jest to niemożliwe, bo założyliśmy, że <math>\left( {\small\frac{a}{d}} \right)_{\small{\!\! J}} = - 1</math>, co oznacza, że <math>a</math> jest liczbą niekwadratową modulo <math>d</math>.
+
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.
  
Punkty 2. i 3. wynikają wprost z&nbsp;twierdzenia J55.<br/>
+
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).
&#9633;
 
{{\Spoiler}}
 
  
  
  
<span style="font-size: 110%; font-weight: bold;">Przykład J57</span><br/>
 
Zauważmy, że <math>\left( {\small\frac{17}{19}} \right)_{\small{\!\! J}} = \left( {\small\frac{5}{19}} \right)_{\small{\!\! J}} = 1</math> oraz <math>\left( {\small\frac{17}{23}} \right)_{\small{\!\! J}} = \left( {\small\frac{5}{23}} \right)_{\small{\!\! J}} = - 1</math>. W&nbsp;tabelach zestawiliśmy kongruencje i&nbsp;ich rozwiązania.
 
  
{| class="wikitable plainlinks"  style="display: inline-table; margin-left: 60px; margin-right: 50px; font-size: 90%; text-align: left;"
 
|-
 
! Kongruencje || Rozwiązania
 
|-
 
| <math>x^2 \equiv 17 \pmod{16 \cdot 19}</math> || <math>25, 63, 89, 127, 177, 215, 241, 279</math>
 
|-
 
| <math>x^2 \equiv 17 \pmod{8 \cdot 19}</math> || <math>13, 25, 51, 63, 89, 101, 127, 139</math>
 
|-
 
| <math>x^2 \equiv 5 \;\, \pmod{8 \cdot 19}</math> || <math>\text{brak}</math>
 
|-
 
| <math>x^2 \equiv 5 \;\, \pmod{4 \cdot 19}</math> || <math>9, 29, 47, 67</math>
 
|}
 
{| class="wikitable plainlinks"  style="display: inline-table; margin-left: 5px; margin-right: 5px; font-size: 90%; text-align: left;"
 
|-
 
! Kongruencje || Rozwiązania
 
|-
 
| <math>x^2 \equiv 17 \pmod{16 \cdot 23}</math> || <math>\text{brak}</math>
 
|-
 
| <math>x^2 \equiv 17 \pmod{8 \cdot 23}</math> || <math>\text{brak}</math>
 
|-
 
| <math>x^2 \equiv 5 \;\, \pmod{8 \cdot 23}</math> || <math>\text{brak}</math>
 
|-
 
| <math>x^2 \equiv 5 \;\, \pmod{4 \cdot 23}</math> || <math>\text{brak}</math>
 
|}
 
  
 +
== Uzupełnienia ==
  
 +
&nbsp;
  
<span style="font-size: 110%; font-weight: bold;">Zadanie J58</span><br/>
+
=== <span style="border-bottom:1px solid #000;">Pewne własności współczynników dwumianowych</span> ===
Rozwiązać kongruencję, gdzie <math>p</math> jest liczbą pierwszą nieparzystą
 
  
::<math>x^2 + rx + s \equiv 0 \pmod{p}</math>
+
&nbsp;
  
{{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;">Twierdzenie L43</span><br/>
Ponieważ <math>\gcd (2, p) = 1</math>, to nie zmniejszając ogólności kongruencję powyższą możemy zapisać w&nbsp;postaci
+
Jeżeli <math>p</math> jest liczbą pierwszą, to
  
::<math>4 x^2 + 4 rx + 4 s \equiv 0 \pmod{p}</math>
+
::<math>\binom{p}{k} \equiv 0 \pmod{p}</math>
  
::<math>(2 x + r)^2 - r^2 + 4 s \equiv 0 \pmod{p}</math>
+
dla każdego <math>k \in [1, p - 1]</math>.
  
::<math>(2 x + r)^2 \equiv r^2 - 4 s \pmod{p}</math>
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 +
Łatwo zauważamy, że dla <math>k \in [1, p - 1]</math> liczba pierwsza <math>p</math> dzieli licznik, ale nie dzieli mianownika współczynnika dwumianowego
  
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>\binom{p}{k} = {\small\frac{p!}{k! \cdot (p - k)!}}</math>
  
::<math>(2 x + r)^2 \equiv b^2 \pmod{p}</math>
+
zatem <math>p \biggr\rvert \binom{p}{k}</math>. Co należało pokazać.<br/>
 +
&#9633;
 +
{{\Spoiler}}
  
::<math>2 x + r \equiv \pm b \pmod{p}</math>
 
  
::<math>x \equiv {\small\frac{p + 1}{2}} \cdot (- r \pm b) \pmod{p}</math>
 
  
Jeśli <math>r^2 - 4 s</math> nie jest liczbą kwadratową modulo <math>p</math>, to kongruencja
+
<span style="font-size: 110%; font-weight: bold;">Twierdzenie L44</span><br/>
 +
Jeżeli <math>p</math> jest liczbą pierwszą nieparzystą, to
  
::<math>(2 x + r)^2 \equiv r^2 - 4 s \pmod{p}</math>
+
::<math>\binom{p + 1}{k} \equiv 0 \pmod{p}</math>
  
nie ma rozwiązania. Wynika stąd, że równoważna jej kongruencja
+
dla każdego <math>k \in [2, p - 1]</math>.
  
::<math>x^2 + rx + s \equiv 0 \pmod{p}</math>
+
{{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
  
również nie ma rozwiązania.<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 1809: Linia 1939:
  
  
<span style="font-size: 110%; font-weight: bold;">Zadanie J59</span><br/>
+
<span style="font-size: 110%; font-weight: bold;">Twierdzenie L45</span><br/>
Rozwiązać kongruencję
+
Jeżeli <math>p</math> jest liczbą pierwszą, to
  
::<math>5 x^2 + 6 x + 8 \equiv 0 \pmod{19}</math>
+
::<math>\binom{p - 1}{k} \equiv (- 1)^k \pmod{p}</math>
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Rozwiązanie|Hide=Ukryj rozwiązanie}}
+
dla każdego <math>k \in [0, p - 1]</math>.
Rozwiązywanie kongruencji w&nbsp;przypadku konkretnych wartości liczb <math>r, s</math> jest łatwiejsze niż w&nbsp;przypadku ogólnym. Mnożąc obie strony kongruencji przez <math>4</math>, otrzymujemy
 
  
::<math>x^2 + 24 x + 32 \equiv 0 \pmod{19}</math>
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 +
Łatwo sprawdzamy, że twierdzenie jest prawdziwe dla liczby pierwszej parzystej <math>p = 2</math>. Załóżmy, że <math>p</math> jest liczbą pierwszą nieparzystą. Równie łatwo sprawdzamy, że twierdzenie jest prawdziwe dla <math>k = 0</math> i <math>k = 1</math>. Zauważmy, że dla <math>k \in [1, p - 1]</math> jest
  
::<math>x^2 + 24 x + 13 \equiv 0 \pmod{19}</math>
+
::<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>
  
Celowo zostawiliśmy parzysty współczynnik przy <math>x</math>. Gdyby był nieparzysty, to zawsze możemy dodać do niego nieparzysty moduł.
+
Ponieważ współczynniki dwumianowe są liczbami całkowitymi, a&nbsp;liczba <math>k \in [2, p - 1]</math> nie dzieli liczby pierwszej nieparzystej <math>p</math>, to <math>k</math> musi dzielić liczbę <math>\binom{p - 1}{k - 1}</math>. Zatem dla <math>k \in [2, p - 1]</math> modulo <math>p</math> mamy
  
::<math>(x + 12)^2 - 144 + 13 \equiv 0 \pmod{19}</math>
+
::<math>\binom{p - 1}{k} \equiv - \binom{p - 1}{k - 1}\pmod{p}</math>
  
::<math>(x + 12)^2 + 2 \equiv 0 \pmod{19}</math>
+
Skąd otrzymujemy
  
::<math>(x + 12)^2 \equiv - 2 \pmod{19}</math>
+
::<math>\binom{p - 1}{k} \equiv (- 1)^1 \binom{p - 1}{k - 1} \equiv (- 1)^2 \binom{p - 1}{k - 2} \equiv \ldots \equiv (- 1)^{k - 2} \binom{p - 1}{2} \equiv (- 1)^{k - 1} \binom{p - 1}{1} \equiv (- 1)^k \pmod{p}</math>
  
::<math>(x + 12)^2 \equiv 6^2 \pmod{19}</math>
+
Co należało pokazać.<br/>
 +
&#9633;
 +
{{\Spoiler}}
  
::<math>x + 12 \equiv \pm 6 \pmod{19}</math>
 
  
Otrzymujemy: <math>x \equiv 1 \!\! \pmod{19}</math> lub <math>x \equiv 13 \!\! \pmod{19}</math>.
 
  
 +
<span style="font-size: 110%; font-weight: bold;">Twierdzenie L46</span><br/>
 +
Dla współczynników dwumianowych prawdziwe są następujące wzory
  
Nieco spostrzegawczości pozwala znaleźć rozwiązanie kongruencji natychmiast. W&nbsp;naszym przypadku wystarczyło zauważyć, że
+
::<math>\underset{k \; \text{parzyste}}{\sum_{k = 0}^{n}} \binom{n}{k} = 2^{n - 1}</math>
  
::<math>x^2 + 24 x + 13 \equiv x^2 - 14 x + 13 \equiv (x - 1) (x - 13) \equiv 0 \pmod{19}</math><br/>
+
::<math>\underset{k \; \text{nieparzyste}}{\sum_{k = 1}^{n}} \binom{n}{k} = 2^{n - 1}</math>
&#9633;
 
{{\Spoiler}}
 
  
 +
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 +
Ze wzoru dwumianowego
  
 +
::<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>
  
== Najmniejsze liczby niekwadratowe modulo ==
+
::<math>(1 - 1)^n = \sum_{k = 0}^{n} (- 1)^k \binom{n}{k} = 0</math>
  
<span style="font-size: 110%; font-weight: bold;">Uwaga J60</span><br/>
+
Obliczając sumę i&nbsp;różnicę powyższych wzorów mamy
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.
 
  
 +
::<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>
  
 +
Skąd natychmiast wynika
  
{| style="border-spacing: 5px; border: 2px solid black; background: transparent;"
+
::<math>\underset{k \; \text{parzyste}}{\sum_{k = 0}^{n}} \binom{n}{k} = 2^{n - 1}</math>
| &nbsp;'''A.''' Najmniejsze liczby niekwadratowe modulo <math>p</math>&nbsp;
 
|}
 
  
<span style="font-size: 110%; font-weight: bold;">Przykład J61</span><br/>
+
::<math>\underset{k \; \text{nieparzyste}}{\sum_{k = 1}^{n}} \binom{n}{k} = 2^{n - 1}</math>
W tabeli przedstawiliśmy najmniejsze liczby niekwadratowe modulo <math>p</math>
 
  
::{| class="wikitable plainlinks"  style="font-size: 100%; text-align: center; margin-right: auto;"
+
Co należało pokazać.<br/>
! <math>\boldsymbol{m}</math>  
+
&#9633;
| <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>
+
{{\Spoiler}}
|-
 
!  <math>\boldsymbol{\mathbb{n}( 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>
 
|}
 
  
  
  
<span style="font-size: 110%; font-weight: bold;">Uwaga J62</span><br/>
 
Do wyszukiwania liczb <math>\mathbb{n} = \mathbb{n} (p)</math> Czytelnik może wykorzystać prostą funkcję napisaną w&nbsp;PARI/GP
 
  
<span style="font-size: 90%; color:black;">A(p) =
 
{
 
'''if'''( p == 2, '''return'''(0) );
 
'''if'''( !'''isprime'''(p), '''return'''(0) );
 
'''forprime'''(q = 2, p, '''if'''( jacobi(q, p) == -1, '''return'''(q) ));
 
}</span>
 
  
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).
+
=== <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;">Uwaga L47</span><br/>
 +
W funkcji <code>modLucas()</code> wykorzystaliśmy zaimplementowaną w&nbsp;PARI/GP funkcję
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J63</span><br/>
+
<code>digits(m, b)</code> – zwraca wektor cyfr liczby <math>| m |</math> w&nbsp;systemie liczbowym o&nbsp;podstawie <math>b</math>
Niech <math>\mathbb{n} \in \mathbb{Z}_+</math> i&nbsp;niech <math>p</math> będzie liczbą pierwszą nieparzystą. Jeżeli <math>\mathbb{n}</math> jest najmniejszą liczbą niekwadratową modulo <math>p</math>, to jest liczbą pierwszą.
 
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
+
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ść.
Przypuśćmy, że <math>\mathbb{n} = a b</math> jest liczbą złożoną, gdzie <math>1 < a, b < \mathbb{n}</math>. Z&nbsp;założenia <math>\mathbb{n}</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
 
  
::<math>r^2 \equiv a \pmod{p}</math>
+
<span style="font-size: 90%; color:black;">Dec2Bin(m) =
 
+
\\ zwraca wektor cyfr liczby m w układzie dwójkowym
::<math>s^2 \equiv b \pmod{p}</math>
+
{
 +
'''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);
 +
}
  
Skąd wynika, że
 
  
::<math>\mathbb{n} = a b \equiv (r s)^2 \pmod{p}</math>
 
  
Wbrew założeniu, że <math>\mathbb{n}</math> jest liczbą niekwadratową modulo <math>p</math>.<br/>
+
<span style="font-size: 110%; font-weight: bold;">Uwaga L48</span><br/>
&#9633;
+
W funkcjach <code>LucasTest()</code> i <code>StrongLucasTest()</code> wykorzystaliśmy zaimplementowaną w&nbsp;PARI/GP funkcję
{{\Spoiler}}
 
  
 +
<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
  
<span style="font-size: 110%; font-weight: bold;">Zadanie J64</span><br/>
+
::<math>a_{k + 1} =
Pokazać, że najmniejszą liczbą niekwadratową modulo <math>p</math> jest
+
  \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>
  
:* &nbsp;liczba <math>2</math> wtedy i&nbsp;tylko wtedy, gdy <math>p = 8 k \pm 3</math>
+
którego granicą jest <math>\sqrt{x}</math> <ref name="pierwiastek1"/>.
:* &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=Rozwiązanie|Hide=Ukryj rozwiązanie}}
+
Modyfikując powyższą definicję tak, aby operacje były zawsze wykonywane na liczbach całkowitych<ref name="IntegerSquareRoot1"/>
Z właściwości symbolu Legendre'a (zobacz J29 p.7) wiemy, że
 
  
::<math>\left( {\small\frac{2}{p}} \right)_{\small{\!\! L}} \,\, =  
+
::<math>a_{k + 1} =
\,\,
 
 
   \begin{cases}
 
   \begin{cases}
\;\;\: 1 & \text{gdy } p \equiv 1, 7 \pmod{8} \\
+
  \qquad \quad \; 1 & \text{gdy } k = 0 \\
      - 1 & \text{gdy } p \equiv 3, 5 \pmod{8}
+
      \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>
 
   \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>.
+
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>.
  
Z zadania J47 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
+
Na tej podstawie możemy w&nbsp;PARI/GP napisać funkcję
  
::<math>p = 8 k + 1 \quad \text{i} \quad p = 12 j + 5</math>
+
<span style="font-size: 90%; color:black;">intSqrt(m) =  
 
+
{
::<math>p = 8 k + 1 \quad \text{i} \quad p = 12 j + 7</math>
+
'''local'''(a, b);
 
+
'''if'''( m == 0, '''return'''(0) );
::<math>p = 8 k + 7 \quad \text{i} \quad p = 12 j + 5</math>
+
a = 2^( '''floor'''( '''log'''(m)/'''log'''(2)/2 ) + 2 ); \\ musi być a > sqrt(m)
 
+
b = '''floor'''(( a + '''floor'''( m/a ) )/2);
::<math>p = 8 k + 7 \quad \text{i} \quad p = 12 j + 7</math>
+
'''while'''( b < a,
 
+
        a = b;
Drugi i&nbsp;trzeci nie są możliwe, bo modulo <math>4</math> otrzymujemy
+
        b = '''floor'''( ( a + '''floor'''(m/a) )/2 );
 
+
      );
::<math>p \equiv 1 \pmod{4} \quad \text{i} \quad p \equiv 3 \pmod{4}</math>
+
'''return'''(a);
 
+
}</span>
::<math>p \equiv 3 \pmod{4} \quad \text{i} \quad p \equiv 1 \pmod{4}</math>
 
 
 
a z&nbsp;pierwszego i&nbsp;czwartego mamy
 
 
 
::<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>
 
 
 
::<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>
 
 
 
Zauważmy, że problem mogliśmy zapisać w&nbsp;postaci układu kongruencji
 
 
 
::<math>p \equiv \pm 1 \pmod{8}</math>
 
 
 
::<math>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 J3). 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ć
 
 
 
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>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
 
 
 
::<math>p \equiv \pm 1 \pmod{8}</math>
 
 
 
::<math>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ć.<br/>
 
&#9633;
 
{{\Spoiler}}
 
 
 
 
 
 
 
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J65</span><br/>
 
Dla każdej liczby pierwszej <math>p_n</math> istnieje nieskończenie wiele takich liczb pierwszych <math>q</math>, że <math>p_n</math> jest najmniejszą liczbą niekwadratową modulo <math>q</math>.
 
 
 
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 
Niech <math>2, p_2, \ldots, p_{n - 1}, p_n</math> będą kolejnymi liczbami pierwszymi. Wybierzmy liczbę <math>u</math> tak, aby spełniała układ kongruencji
 
 
 
::<math>\begin{align}
 
u & \equiv 1 \pmod{8 p_2 \cdot \ldots \cdot p_{n - 1}} \\
 
u & \equiv a \pmod{p_n}
 
\end{align}</math>
 
 
 
gdzie <math>a</math> oznacza dowolną liczbą niekwadratową modulo <math>p_n</math>. Na podstawie chińskiego twierdzenia o&nbsp;resztach (zobacz J3) powyższy układ kongruencji może być zapisany w&nbsp;postaci kongruencji równoważnej
 
 
 
::<math>u \equiv c \pmod{8 p_2 \cdot \ldots \cdot p_n}</math>
 
 
 
 
 
Zauważmy, że żadna z&nbsp;liczb pierwszych <math>p_k</math>, gdzie <math>1 \leqslant k \leqslant n</math> nie dzieli liczby <math>c</math>, bo mielibyśmy
 
 
 
::<math>u \equiv 0 \pmod{p_k}</math>
 
 
 
wbrew wypisanemu wyżej układowi kongruencji. Zatem <math>\gcd (c, 8 p_2 \cdot \ldots \cdot p_n) = 1</math> i&nbsp;z&nbsp;twierdzenia Dirichleta wiemy, że wśród liczb <math>u</math> spełniających kongruencję <math>u \equiv c \!\! \pmod{8 p_2 \cdot \ldots \cdot p_n}</math> występuje nieskończenie wiele liczb pierwszych (bo wśród tych liczb są liczby postaci <math>8 p_2 \cdot \ldots \cdot p_n \cdot k + c</math>, gdzie <math>k \in \mathbb{Z}_+</math>). Oznaczmy przez <math>q</math> dowolną z&nbsp;tych liczb pierwszych.
 
 
 
 
 
Ponieważ <math>q \equiv 1 \!\! \pmod{8}</math>, to <math>\left( {\small\frac{2}{q}} \right)_{\small{\!\! L}} = 1</math> (zobacz J29), a&nbsp;dla wszystkich liczb pierwszych nieparzystych <math>p_k < p_n</math> mamy
 
 
 
<div style="margin-top: 1em; margin-bottom: 1em;">
 
::<math>\left( {\small\frac{p_k}{q}} \right)_{\small{\!\! L}} = \left( {\small\frac{q}{p_k}} \right)_{\small{\!\! L}} \cdot (- 1)^{\tfrac{q - 1}{2} \cdot \tfrac{p_k - 1}{2}} = \left( {\small\frac{q}{p_k}} \right)_{\small{\!\! L}} = \left( {\small\frac{c}{p_k}} \right)_{\small{\!\! L}} = \left( {\small\frac{1}{p_k}} \right)_{\small{\!\! L}} = 1</math>
 
</div>
 
 
 
bo <math>8 \mid (q - 1)</math>. Dla liczby pierwszej <math>p_n</math> jest
 
 
 
<div style="margin-top: 1em; margin-bottom: 1em;">
 
::<math>\left( {\small\frac{p_n}{q}} \right)_{\small{\!\! L}} = \left( {\small\frac{q}{p_n}} \right)_{\small{\!\! L}} \cdot (- 1)^{\tfrac{q - 1}{2} \cdot \tfrac{p_n - 1}{2}} = \left( {\small\frac{q}{p_n}} \right)_{\small{\!\! L}} = \left( {\small\frac{c}{p_n}} \right)_{\small{\!\! L}} = \left( {\small\frac{a}{p_n}} \right)_{\small{\!\! L}} = - 1</math>
 
</div>
 
 
 
Zatem wszystkie liczby pierwsze mniejsze od <math>p_n</math> są liczbami kwadratowymi modulo <math>q</math>, a&nbsp;liczba pierwsza <math>p_n</math> jest najmniejszą liczbą niekwadratową modulo <math>q</math>. Zauważmy, że <math>q</math> była dowolnie wybraną liczbą pierwszą z&nbsp;nieskończenie wielu liczb pierwszych występujących w&nbsp;ciągu arytmetycznym <math>8 p_2 \cdot \ldots \cdot p_n \cdot k + c</math>, gdzie <math>k \in \mathbb{Z}_+</math>. Co kończy dowód.<br/>
 
&#9633;
 
{{\Spoiler}}
 
 
 
 
 
 
 
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J66 (Sarvadaman Chowla)</span><br/>
 
Istnieje niekończenie wiele liczb pierwszych <math>p</math> takich, że najmniejsza liczba niekwadratowa modulo <math>p</math> jest większa od <math>{\small\frac{\log p}{2 L \log 2}}</math>, gdzie <math>L</math> jest stałą Linnika.
 
 
 
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 
Niech <math>a = 4 P (m)</math>, gdzie <math>P(m)</math> jest iloczynem wszystkich liczb pierwszych nie większych od <math>m</math>. Z&nbsp;twierdzenia Dirichleta wiemy, że w&nbsp;ciągu arytmetycznym <math>u_k = a k + 1</math> występuje nieskończenie wiele liczb pierwszych. Niech <math>p</math> oznacza dowolną z&nbsp;nich.
 
 
 
Ponieważ <math>p \equiv 1 \!\! \pmod{8}</math>, to
 
 
 
::<math>\left( {\small\frac{2}{p}} \right)_{\small{\!\! L}} = 1</math>
 
 
 
(zobacz J29 p.7). Oczywiście <math>p \equiv 1 \!\! \pmod{4}</math>, zatem dla dowolnej liczby pierwszej nieparzystej <math>q_i \leqslant m</math> z&nbsp;twierdzenia J29 p.9 otrzymujemy
 
 
 
<div style="margin-top: 1em; margin-bottom: 1em;">
 
::<math>\left( {\small\frac{q_i}{p}} \right)_{\small{\!\! L}} = \left( {\small\frac{p}{q_i}} \right)_{\small{\!\! L}} = \left( {\small\frac{a k + 1}{q_i}} \right)_{\small{\!\! L}} = \left( {\small\frac{1}{q_i}} \right)_{\small{\!\! L}} = 1</math>
 
</div>
 
 
 
Wynika stąd, że najmniejsza liczba niekwadratowa modulo <math>p</math> jest większa od <math>m</math>. Wiemy też, że (zobacz A9)
 
 
 
::<math>a = 4 P (m) < 4 \cdot 4^m = 4^{m + 1}</math>
 
 
 
Załóżmy teraz, że <math>p</math> jest najmniejszą liczbą pierwszą w&nbsp;ciągu arytmetycznym <math>u_k = a k + 1</math>, a&nbsp;liczba <math>m</math> została wybrana tak, że liczba <math>a = 4 P (m)</math> jest dostatecznie duża i&nbsp;możliwe jest skorzystanie z&nbsp;twierdzenia Linnika (zobacz C30). Dostajemy natychmiast oszacowanie
 
 
 
::<math>p = p_{\min} (a, 1) < a^L</math>
 
 
 
gdzie <math>L</math> jest stałą Linnika (możemy przyjąć <math>L = 5</math>). Łącząc powyższe oszacowania, łatwo otrzymujemy oszacowanie najmniejszej liczby niekwadratowej modulo <math>p</math>
 
 
 
::<math>\mathbb{n}(p) \geqslant m + 1 > \log_4 a = {\small\frac{\log a}{\log 4}} = {\small\frac{\log a^L}{2 L \log 2}} > {\small\frac{\log p}{2 L \log 2}}</math>
 
 
 
Każdemu wyborowi innej liczby <math>m' > m</math> takiej, że <math>P(m') > P (m)</math> odpowiada inna liczba pierwsza <math>p'</math> taka, że <math>\mathbb{n}(p') > {\small\frac{\log p'}{2 L \log 2}}</math>, zatem liczb pierwszych <math>p</math> dla których najmniejsza liczba niekwadratowa modulo <math>p</math> jest większa od <math>{\small\frac{\log p}{2 L \log 2}}</math> jest nieskończenie wiele.<br/>
 
&#9633;
 
{{\Spoiler}}
 
 
 
 
 
 
 
<span style="font-size: 110%; font-weight: bold;">Uwaga J67</span><br/>
 
W twierdzeniu J65 pokazaliśmy, że dla każdej liczby pierwszej <math>\mathbb{n}</math> istnieją takie liczby pierwsze <math>p</math>, że <math>\mathbb{n}</math> jest najmniejszą liczbą niekwadratową modulo <math>p</math>. Zatem zbiór <math>S_\mathbb{n}</math> liczb pierwszych takich, że dla każdej liczby <math>p \in S_\mathbb{n}</math> liczba <math>\mathbb{n}</math> jest najmniejszą liczbą niekwadratową modulo <math>p</math> jest zbiorem niepustym. Wynika stąd, że zbiór <math>S_\mathbb{n}</math> ma element najmniejszy i&nbsp;możemy te najmniejsze liczby pierwsze łatwo znaleźć – wystarczy w&nbsp;PARI/GP napisać proste polecenie
 
 
 
<span style="font-size: 90%; color:black;">'''forprime'''(n = 2, 50, '''forprime'''(p = 2, 10^10, '''if'''( A(p) == n, '''print'''(n, "  ", p); '''break'''() )))</span>
 
 
 
W tabeli przedstawiamy uzyskane rezultaty (zobacz też [https://oeis.org/A000229 A000229]).
 
 
 
::{| class="wikitable plainlinks"  style="font-size: 100%; text-align: center; margin-right: auto;"
 
|-
 
! <math>\boldsymbol{\mathbb{n}}</math>
 
| <math>2</math> || <math>3</math> || <math>5</math> || <math>7</math> || <math>11</math> || <math>13</math> || <math>17</math> || <math>19</math> || <math>23</math> || <math>29</math> || <math>31</math> || <math>37</math> || <math>41</math> || <math>43</math> || <math>47</math>
 
|-
 
! <math>\boldsymbol{p}</math>
 
| <math>3</math> || <math>7</math> || <math>23</math> || <math>71</math> || <math>311</math> || <math>479</math> || <math>1559</math> || <math>5711</math> || <math>10559</math> || <math>18191</math> || <math>31391</math> || <math>422231</math> || <math>701399</math> || <math>366791</math> || <math>3818929</math>
 
|}
 
 
 
 
 
 
 
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J68</span><br/>
 
Niech <math>p</math> będzie liczbą pierwszą nieparzystą, a <math>\mathbb{n}</math> będzie najmniejszą liczbą niekwadratową modulo <math>p</math>. Prawdziwe jest oszacowanie
 
 
 
::<math>\mathbb{n} (p) < \sqrt{p} + {\small\frac{1}{2}}</math>
 
 
 
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 
Ponieważ <math>\mathbb{n} \nmid p</math>, to z&nbsp;oszacowania <math>x - 1 < \lfloor x \rfloor \leqslant x</math> wynika, że
 
 
 
::<math>{\small\frac{p}{\mathbb{n}}} - 1 < \left\lfloor {\small\frac{p}{\mathbb{n}}} \right\rfloor < {\small\frac{p}{\mathbb{n}}}</math>
 
 
 
::<math>p < \mathbb{n} \left\lfloor {\small\frac{p}{\mathbb{n}}} \right\rfloor + \mathbb{n} < p + \mathbb{n}</math>
 
 
 
Niech <math>u = \left\lfloor {\small\frac{p}{\mathbb{n}}} \right\rfloor + 1</math>, mamy
 
 
 
::<math>0 < \mathbb{n} u - p < \mathbb{n}</math>
 
 
 
Liczba <math>\mathbb{n} u - p</math> musi być liczbą kwadratową modulo <math>p</math>, zatem
 
 
 
::<math>1 = \left( {\small\frac{\mathbb{n} u - p}{p}} \right)_{\small{\!\! L}} = \left( {\small\frac{\mathbb{n}}{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>\mathbb{n}</math> jest najmniejszą liczbą taką, że <math>\left( {\small\frac{\mathbb{n}}{p}} \right)_{\small{\!\! L}} = - 1</math>. Wynika stąd, że musi być <math>\mathbb{n} \leqslant u</math> i&nbsp;łatwo znajdujemy, że
 
 
 
::<math>\mathbb{n} \leqslant \left\lfloor {\small\frac{p}{\mathbb{n}}} \right\rfloor + 1 < {\small\frac{p}{\mathbb{n}}} + 1</math>
 
 
 
::<math>\mathbb{n}^2 < p + \mathbb{n}</math>
 
 
 
Ponieważ wypisane liczby są liczbami całkowitymi, to ostatnią nierówność możemy zapisać w&nbsp;postaci
 
 
 
::<math>\mathbb{n}^2 \leqslant p + \mathbb{n} - 1</math>
 
 
 
Skąd otrzymujemy
 
 
 
::<math>\left( \mathbb{n} - {\small\frac{1}{2}} \right)^2 \leqslant p - {\small\frac{3}{4}}</math>
 
 
 
::<math>\mathbb{n} \leqslant {\small\frac{1}{2}} + \sqrt{p - {\small\frac{3}{4}}} < {\small\frac{1}{2}} + \sqrt{p}</math>
 
 
 
Co należało pokazać.<br/>
 
&#9633;
 
{{\Spoiler}}
 
 
 
 
 
 
 
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J69*</span><br/>
 
Niech <math>p</math> będzie liczbą pierwszą nieparzystą, a <math>\mathbb{n}</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>\mathbb{n} (p) \leqslant 1.1 \cdot p^{1 / 4} \log p</math>
 
 
 
 
 
 
 
<span style="font-size: 110%; font-weight: bold;">Uwaga J70</span><br/>
 
Liczby <math>\mathbb{n} = \mathbb{n} (p)</math> są zaskakująco małe. Średnia wartość <math>\mathbb{n} = \mathbb{n} (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} \mathbb{n} (p) = \sum_{k = 1}^{\infty} {\small\frac{p_k}{2^k}} = 3.674643966 \ldots</math>
 
 
 
 
 
 
 
<span style="font-size: 110%; font-weight: bold;">Uwaga J71</span><br/>
 
Możemy też badać najmniejsze '''nieparzyste''' liczby niekwadratowe modulo <math>p</math>. Pokażemy, że są one również liczbami pierwszymi. W tabeli przedstawiliśmy najmniejsze '''nieparzyste''' liczby niekwadratowe modulo <math>p</math>.
 
 
 
::{| class="wikitable plainlinks"  style="font-size: 100%; text-align: center; margin-right: auto;"
 
|-
 
! <math>\boldsymbol{m}</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{\mathbb{n}_1( p )}</math>
 
| <math>3</math> || <math>3</math> || <math>-</math> || <math>7</math> || <math>5</math> || <math>-</math> || <math>3</math> || <math>3</math> || <math>-</math> || <math>5</math> || <math>-</math> || <math>-</math> || <math>3</math> || <math>3</math> || <math>-</math> || <math>-</math> || <math>5</math> || <math>-</math> || <math>3</math> || <math>3</math> || <math>-</math> || <math>5</math> || <math>-</math> || <math>-</math>
 
|}
 
 
 
 
 
 
 
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J72</span><br/>
 
Dla każdej liczby pierwszej <math>p \geqslant 5</math> najmniejsza '''nieparzysta''' liczba niekwadratowa modulo <math>p</math> jest liczbą pierwszą mniejszą od <math>p</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 \{ 1, 2, \ldots, p - 1 \}</math> będzie zbiorem wszystkich '''nieparzystych''' liczb niekwadratowych modulo <math>p</math>. Z&nbsp;twierdzenia J24 wiemy, że jeżeli <math>p</math> jest liczbą pierwszą nieparzystą, to w&nbsp;zbiorze <math>\{ 1, 2, \ldots, p - 1 \}</math> jest 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>. W&nbsp;zbiorze <math>\{ 1, 2, \ldots, p - 1 \}</math> mamy też dokładnie <math>{\small\frac{p - 1}{2}}</math> liczb parzystych i&nbsp;tyle samo liczb nieparzystych.
 
 
 
Wszystkie liczby parzyste nie mogą być liczbami niekwadratowymi modulo <math>p</math>, bo <math>4 = 2^2 < 5 \leqslant p</math> jest parzystą liczbą kwadratową modulo <math>p</math>, czyli wśród liczb nieparzystych musi istnieć przynajmniej jedna liczba niekwadratowa modulo <math>p</math>. Wynika stąd, że zbiór <math>S</math> nie jest zbiorem pustym, zatem ma element najmniejszy. Pokażemy, że najmniejszy element zbioru <math>S</math> jest liczbą pierwszą.
 
 
 
Niech <math>3 \leqslant \mathbb{n}_\boldsymbol{1} \leqslant p - 2</math> będzie najmniejszą '''nieparzystą''' liczbą niekwadratową modulo <math>p</math>. Wynika stąd, że każda liczba <math>a < \mathbb{n}_\boldsymbol{1}</math> musi być liczbą parzystą lub liczbą kwadratową modulo <math>p</math>. Przypuśćmy, że <math>\mathbb{n}_\boldsymbol{1}</math> jest liczbą złożoną, czyli <math>\mathbb{n}_\boldsymbol{1} = a b</math>, gdzie <math>1 < a, b < \mathbb{n}_\boldsymbol{1}</math>. Zauważmy, że żadna z&nbsp;liczb <math>a, b</math> nie może być liczbą parzystą, bo wtedy liczba <math>\mathbb{n}_\boldsymbol{1}</math> również byłaby liczbą parzystą wbrew określeniu liczby <math>\mathbb{n}_\boldsymbol{1}</math>. Zatem obie liczby <math>a, b</math> muszą być nieparzystymi liczbami kwadratowymi, co jest niemożliwe, bo
 
 
 
::<math>- 1 = \left( {\small\frac{\mathbb{n}_\boldsymbol{1}}{p}} \right)_{\small{\!\! J}} = \left( {\small\frac{a b}{p}} \right)_{\small{\!\! J}} = \left( {\small\frac{a}{p}} \right)_{\small{\!\! J}} \cdot \left( {\small\frac{b}{p}} \right)_{\small{\!\! J}}</math>
 
 
 
i jeden z&nbsp;czynników po prawej stronie musi być ujemny. Co oznacza, że jedna z&nbsp;liczb <math>a, b</math> jest nieparzystą liczbą niekwadratową modulo <math>p</math> mniejszą od <math>\mathbb{n}_\boldsymbol{1}</math> wbrew określeniu liczby <math>\mathbb{n}_\boldsymbol{1}</math>. Uzyskana sprzeczność pokazuje, że liczba <math>\mathbb{n}_\boldsymbol{1}</math> jest liczbą pierwszą. Co kończy dowód.<br/>
 
&#9633;
 
{{\Spoiler}}
 
 
 
 
 
 
 
 
 
 
 
{| style="border-spacing: 5px; border: 2px solid black; background: transparent;"
 
| &nbsp;'''B.''' Najmniejsze liczby niekwadratowe modulo <math>m</math>
 
|}
 
 
 
<span style="font-size: 110%; font-weight: bold;">Uwaga J73</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>\mathbb{n}</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>\mathbb{n}(m) .</math>
 
 
 
 
 
 
 
<span style="font-size: 110%; font-weight: bold;">Definicja J74</span><br/>
 
Niech <math>m \in \mathbb{Z} \,</math> i <math>\, m \geqslant 3 .</math> Powiemy, że <math>\mathbb{n} (m)</math> jest najmniejszą liczbą niekwadratową modulo <math>m</math>, gdy <math>\mathbb{n}</math> jest najmniejszą liczbą dodatnią względnie pierwszą z <math>m</math> taką, że kongruencja
 
 
 
::<math>x^2 \equiv \mathbb{n} \pmod{m}</math>
 
 
 
nie ma rozwiązania.
 
 
 
 
 
 
 
<span style="font-size: 110%; font-weight: bold;">Przykład J75</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: 100%; text-align: center; margin-right: auto;"
 
! <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{\mathbb{n}( 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{\mathbb{n}( 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>
 
|}
 
 
 
::{| class="wikitable plainlinks"  style="font-size: 100%; text-align: center; margin-right: auto;"
 
|-
 
! <math>\boldsymbol{m}</math>
 
| <math>4</math> || <math>6</math> || <math>8</math> || <math>10</math> || <math>12</math> || <math>14</math> || <math>16</math> || <math>18</math> || <math>20</math> || <math>22</math> || <math>24</math> || <math>26</math> || <math>28</math> || <math>30</math> || <math>32</math> || <math>34</math> || <math>36</math> || <math>38</math> || <math>40</math> || <math>42</math> || <math>44</math> || <math>46</math> || <math>48</math> || <math>50</math> || <math>52</math>
 
|-
 
! <math>\boldsymbol{\mathbb{n}( m )}</math>
 
| <math>3</math> || <math>5</math> || <math>3</math> || <math>3</math> || <math>5</math> || <math>3</math> || <math>3</math> || <math>5</math> || <math>3</math> || <math>7</math> || <math>5</math> || <math>5</math> || <math>3</math> || <math>7</math> || <math>3</math> || <math>3</math> || <math>5</math> || <math>3</math> || <math>3</math> || <math>5</math> || <math>3</math> || <math>5</math> || <math>5</math> || <math>3</math> || <math>3</math>
 
|}
 
 
 
 
 
 
 
<span style="font-size: 110%; font-weight: bold;">Uwaga J76</span><br/>
 
Do wyszukiwania liczb <math>\mathbb{n} (m)</math> Czytelnik może wykorzystać prostą funkcję napisaną w&nbsp;PARI/GP
 
 
 
<span style="font-size: 90%; color:black;">B(m) =
 
{
 
'''local'''(p, res);
 
p = 1;
 
'''while'''( p < m,
 
        p = '''nextprime'''(p + 1);
 
        '''if'''( m%p == 0, '''next'''() );
 
        res = -1;
 
        '''for'''( k = 2, '''floor'''(m/2), '''if'''( k^2%m == p, res = 1; '''break'''() ) );
 
        '''if'''( res == -1, '''return'''(p) );
 
      );
 
}</span>
 
 
 
Obliczenia można wielokrotnie przyspieszyć, modyfikując kod funkcji tak, aby uwzględniał pokazane niżej właściwości oraz parzystość liczby <math>m .</math> Tutaj przedstawiamy tylko przykład, który wykorzystuje część tych możliwości.
 
 
 
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Pokaż kod|Hide=Ukryj kod}}
 
<span style="font-size: 90%; color:black;">B(m) =
 
{
 
'''local'''(p, res, t);
 
t = m%8;
 
'''if'''( t == 3 || t == 5, '''return'''(2) );
 
t = m%12;
 
'''if'''( t == 4 || t == 8, '''return'''(3) );
 
t = m%24;
 
'''if'''( t == 9 || t == 15, '''return'''(2) );
 
'''if'''( t == 10 || t == 14, '''return'''(3) );
 
t = m%30;
 
'''if'''( t == 6 || t == 12 || t == 18 || t == 24, '''return'''(5) );
 
p = 1;
 
'''while'''( p < m,
 
        p = '''nextprime'''(p + 1);
 
        '''if'''( m%p == 0, '''next'''() );
 
        res = -1;
 
        '''for'''( k = 2, '''floor'''(m/2), '''if'''( k^2%m == p, res = 1; '''break'''() ) );
 
        '''if'''( res == -1, '''return'''(p) );
 
      );
 
}</span>
 
{{\Spoiler}}
 
 
 
 
 
 
 
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J77</span><br/>
 
Niech <math>m \in \mathbb{Z} \,</math> i <math>\, m \geqslant 3 .</math> Jeżeli <math>\mathbb{n}</math> jest najmniejszą liczbą niekwadratową modulo <math>m</math>, to <math>\mathbb{n}</math> jest liczbą pierwszą.
 
 
 
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 
Przypuśćmy, że <math>\mathbb{n} = a b</math> jest liczbą złożoną, gdzie <math>1 < a, b < \mathbb{n} .</math> Z&nbsp;założenia <math>\mathbb{n}</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>r^2 \equiv a \pmod{m}</math>
 
 
 
::<math>s^2 \equiv b \pmod{m}</math>
 
 
 
Skąd wynika, że
 
 
 
::<math>\mathbb{n} = a b \equiv (r s)^2 \pmod{m}</math>
 
 
 
Wbrew założeniu, że <math>\mathbb{n}</math> jest liczbą niekwadratową modulo <math>m .</math><br/>
 
&#9633;
 
{{\Spoiler}}
 
 
 
 
 
 
 
<span style="font-size: 110%; font-weight: bold;">Zadanie J78</span><br/>
 
Niech <math>m \in \mathbb{Z}_+ \,</math> i <math>\, \mathbb{n} (m)</math> będzie najmniejszą liczbą niekwadratową modulo <math>m .</math> Pokazać, że jeżeli <math>m = 8 k \pm 3</math>, to <math>\mathbb{n} (m) = 2 .</math>
 
 
 
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Rozwiązanie|Hide=Ukryj rozwiązanie}}
 
Z twierdzenia J42 wiemy, że <math>\left( {\small\frac{2}{m}} \right)_{\small{\!\! J}} = - 1</math>, gdy <math>m = 8 k \pm 3 .</math> Wynika stąd, że <math>2</math> jest liczbą niekwadratową modulo <math>m</math>, a&nbsp;jeśli tak, to musi być najmniejszą liczbą niekwadratową modulo <math>m .</math> Co należało pokazać.<br/>
 
&#9633;
 
{{\Spoiler}}
 
 
 
 
 
 
 
<span style="font-size: 110%; font-weight: bold;">Zadanie J79</span><br/>
 
Niech <math>m \in \mathbb{Z}_+ \,</math> i <math>\, \mathbb{n} (m)</math> będzie najmniejszą liczbą niekwadratową modulo <math>m .</math> Pokazać, że jeżeli spełniony jest jeden z&nbsp;warunków
 
 
 
:*&nbsp;&nbsp;<math>4 \mid m \;</math> i <math>\; \gcd (3, m) = 1</math>
 
:*&nbsp;&nbsp;<math>m = 12 k \pm 4</math>
 
 
 
to <math>\mathbb{n} (m) = 3 .</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>2</math> nie może być najmniejszą liczbą niekwadratową modulo <math>m</math>, bo <math>2 \mid m .</math> Rozważmy kongruencję
 
 
 
::<math>x^2 \equiv 3 \pmod{m}</math>
 
 
 
Z założenia <math>4 \mid m</math>, co nie wyklucza możliwości, że również <math>8 \mid m .</math> Ponieważ <math>4 \nmid (3 - 1)</math> i <math>8 \nmid (3 - 1)</math>, to z&nbsp;twierdzenia J56 wynika, że kongruencja <math>x^2 \equiv 3 \!\! \pmod{m}</math> nie ma rozwiązania. Jeśli tylko <math>3 \nmid m</math>, to <math>\mathbb{n} (m) = 3 .</math> W&nbsp;pierwszym punkcie jest to założone wprost, w&nbsp;drugim łatwo widzimy, że <math>3 \nmid (12 k \pm 4) .</math>
 
 
 
Można też zauważyć, że żądanie, aby <math>\gcd (3, m) = 1</math>, prowadzi do dwóch układów kongruencji
 
 
 
::<math>\begin{align}
 
m &\equiv 0 \pmod{4} \\
 
m &\equiv 1 \pmod{3}
 
\end{align}</math>
 
 
 
oraz
 
 
 
::<math>\begin{align}
 
m &\equiv 0 \pmod{4} \\
 
m &\equiv 2 \pmod{3}
 
\end{align}</math>
 
 
 
którym, na mocy chińskiego twierdzenia o&nbsp;resztach, odpowiadają dwie kongruencje równoważne
 
 
 
::<math>m \equiv \pm 4 \pmod{12}</math>
 
 
 
Co należało pokazać.<br/>
 
&#9633;
 
{{\Spoiler}}
 
 
 
 
 
 
 
<span style="font-size: 110%; font-weight: bold;">Zadanie J80</span><br/>
 
Niech <math>m = 24 k \pm 10 .</math> Pokazać, że <math>\mathbb{n} (m) = 3 .</math>
 
 
 
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Rozwiązanie|Hide=Ukryj rozwiązanie}}
 
Zapiszmy <math>m</math> w&nbsp;postaci <math>m = 2 m'</math>, gdzie <math>m' = 12 k \pm 5 .</math> Gdyby kongruencja
 
 
 
::<math>x^2 \equiv 3 \pmod{2 m'}</math>
 
 
 
miała rozwiązanie, to również kongruencja
 
 
 
::<math>x^2 \equiv 3 \pmod{m'}</math>
 
 
 
miałaby rozwiązanie, ale jest to niemożliwe, bo <math>\left( {\small\frac{3}{m'}} \right)_{\small{\!\! J}} = - 1</math> (zobacz J47), czyli <math>3</math> jest liczbą niekwadratową modulo <math>m' .</math> Ponieważ <math>2 \mid m</math>, to <math>2</math> nie może być najmniejszą liczbą niekwadratową modulo <math>m .</math> Wynika stąd, że <math>\mathbb{n} (m) = 3 .</math><br/>
 
&#9633;
 
{{\Spoiler}}
 
 
 
 
 
 
 
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J81</span><br/>
 
Niech <math>m \in \mathbb{Z}_+ \;</math> i <math>\; S_2 = \{ 3, 5, 11, 13, 19, 29, 37, 43, \ldots \}</math> będzie zbiorem liczb pierwszych <math>p</math> takich, że <math>\left( {\small\frac{2}{p}} \right)_{\small{\!\! J}} = - 1 .</math> Jeżeli <math>m</math> jest liczbą nieparzystą podzielną przez <math>p \in S_2</math>, to <math>\mathbb{n} (m) = 2 .</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 <math>p \mid m \;</math> i <math>\; \left( {\small\frac{2}{p}} \right)_{\small{\!\! J}} = - 1 .</math> Zatem kongruencja
 
 
 
::<math>x^2 \equiv 2 \pmod{m}</math>
 
 
 
nie ma rozwiązania (zobacz J56). Ponieważ <math>2 \nmid m</math>, to <math>\mathbb{n} (m) = 2 .</math>
 
 
 
Uwaga: zbiór <math>S_2</math> tworzą liczby pierwsze postaci <math>8 k \pm 3</math> (zobacz J42).<br/>
 
&#9633;
 
{{\Spoiler}}
 
 
 
 
 
 
 
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J82</span><br/>
 
Niech <math>m \in \mathbb{Z}_+ \;</math> i <math>\; S_3 = \{ 5, 7, 17, 19, 29, 31, 41, 43, \ldots \}</math> będzie zbiorem liczb pierwszych <math>p</math> takich, że <math>\left( {\small\frac{3}{p}} \right)_{\small{\!\! J}} = - 1 .</math> Jeżeli <math>m</math> jest liczbą parzystą niepodzielną przez <math>3</math> i&nbsp;podzielną przez <math>p \in S_3</math>, to <math>\mathbb{n} (m) = 3 .</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 <math>p \mid m \;</math> i <math>\; \left( {\small\frac{3}{p}} \right)_{\small{\!\! J}} = - 1 .</math> Zatem kongruencja
 
 
 
::<math>x^2 \equiv 3 \pmod{m}</math>
 
 
 
nie ma rozwiązania (zobacz J56). Ponieważ <math>2 \mid m</math> i <math>3 \nmid m</math>, to <math>\mathbb{n} (m) = 3 .</math>
 
 
 
Uwaga: zbiór <math>S_3</math> tworzą liczby pierwsze postaci <math>12 k \pm 5</math> (zobacz J47).<br/>
 
&#9633;
 
{{\Spoiler}}
 
 
 
 
 
 
 
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J83</span><br/>
 
Jeżeli <math>m</math> jest liczbą dodatnią podzielną przez <math>6</math> i&nbsp;niepodzielną przez <math>5</math>, to <math>\mathbb{n} (m) = 5 .</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 <math>3 \mid m \;</math> i <math>\; \left( {\small\frac{5}{3}} \right)_{\small{\!\! J}} = \left( {\small\frac{2}{3}} \right)_{\small{\!\! J}} = - 1 .</math> Zatem kongruencja
 
 
 
::<math>x^2 \equiv 5 \pmod{m}</math>
 
 
 
nie ma rozwiązania (zobacz J56). Ponieważ <math>2 \mid m</math>, <math>3 \mid m</math> i <math>5 \nmid m</math>, to <math>\mathbb{n} (m) = 5 .</math><br/>
 
&#9633;
 
{{\Spoiler}}
 
 
 
 
 
 
 
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J84</span><br/>
 
Niech <math>m \in \mathbb{Z}_+</math> i <math>p \geqslant 5</math> będzie liczbą pierwszą. Jeżeli iloczyn wszystkich liczb pierwszych mniejszych od <math>p</math> dzieli <math>m</math> i <math>p \nmid m</math>, to <math>\mathbb{n} (m) = p</math>.
 
 
 
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 
Z twierdzenia J113 wiemy, że istnieje liczba pierwsza nieparzysta <math>q < p</math> taka, że <math>\left( {\small\frac{p}{q}} \right)_{\small{\!\! J}} = - 1 .</math> Z&nbsp;założenia <math>q \mid m</math>, zatem kongruencja
 
 
 
::<math>x^2 \equiv p \pmod{m}</math>
 
 
 
nie ma rozwiązania (zobacz J56). Ponieważ wszystkie liczby pierwsze mniejsze od <math>p</math> dzielą <math>m</math>, to <math>\mathbb{n} (m) = p</math>. Co należało pokazać.<br/>
 
&#9633;
 
{{\Spoiler}}
 
 
 
 
 
 
 
<span style="font-size: 110%; font-weight: bold;">Zadanie J85</span><br/>
 
Pokazać, że podanym w&nbsp;pierwszej kolumnie postaciom liczby <math>m</math> odpowiadają wymienione w&nbsp;drugiej kolumnie wartości <math>\mathbb{n} (m) .</math>
 
 
 
::{| class="wikitable plainlinks"  style="font-size: 90%; text-align: left; margin-right: auto;"
 
|-
 
! Postać liczby <math>\boldsymbol{m}</math> || <math>\boldsymbol{𝕟(m)}</math> || Uwagi
 
|-
 
| <math>m=24k \pm 9</math> || style="text-align:center;" | <math>2</math> || rowspan="3" style="text-align:center;" | J81
 
|-
 
| <math>m=120k \pm 25</math> || style="text-align:center;" | <math>2</math>
 
|-
 
| <math>m=120k \pm 55</math> || style="text-align:center;" | <math>2</math>
 
|-
 
| <math>m=120k \pm 50</math> || style="text-align:center;" | <math>3</math> || style="text-align:center;" | J82
 
|-
 
| <math>m=30k \pm 6</math> || style="text-align:center;" | <math>5</math> || rowspan="2" style="text-align:center;" | J83, J84
 
|-
 
| <math>m=30k \pm 12</math> || style="text-align:center;" | <math>5</math>
 
|-
 
| <math>m=210k \pm 30</math> || style="text-align:center;" | <math>7</math> || rowspan="3" style="text-align:center;" | J84
 
|-
 
| <math>m=210k \pm 60</math> || style="text-align:center;" | <math>7</math>
 
|-
 
| <math>m=210k \pm 90</math> || style="text-align:center;" | <math>7</math>
 
|}
 
 
 
 
 
 
 
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J86</span><br/>
 
Niech <math>m</math> będzie liczbą nieparzystą, a <math>\mathbb{n} (m)</math> będzie najmniejszą liczbą niekwadratową modulo <math>m .</math> Mamy
 
 
 
::<math>\begin{array}{lll}
 
  \mathbb{n} (2 m) >\mathbb{n} (m) &  & \text{gdy} \;\; \mathbb{n} (m) = 2 \\
 
  \mathbb{n} (2 m) =\mathbb{n} (m) &  & \text{gdy} \;\; \mathbb{n} (m) > 2
 
\end{array}</math>
 
 
 
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 
 
 
'''Punkt 1.'''
 
 
 
W przypadku, gdy <math>\mathbb{n} (m) = 2</math>, mamy <math>\mathbb{n} (2 m) > 2 = \mathbb{n} (m)</math>, bo <math>\mathbb{n} (2 m)</math> musi być liczbą względnie pierwszą z <math>2 m .</math>
 
 
 
'''Punkt 2.'''
 
 
 
Z definicji najmniejszej liczby niekwadratowej modulo <math>m</math> wiemy, że kongruencja
 
 
 
::<math>x^2 \equiv \mathbb{n} (m) \pmod{m}</math>
 
 
 
nie ma rozwiązania. Oznacza to, że istnieje liczba pierwsza nieparzysta <math>p</math> taka, że <math>p \mid m \;</math> i <math>\; \left( {\small\frac{\mathbb{n} (m)}{p}} \right)_{\small{\!\! J}} = - 1 .</math> Ponieważ <math>p \mid 2 m</math>, to wynika stąd natychmiast, że kongruencja
 
 
 
::<math>x^2 \equiv \mathbb{n} (m) \pmod{2 m}</math>
 
 
 
również nie ma rozwiązania (zobacz J56).
 
 
 
Zatem <math>\mathbb{n} (2 m) \leqslant \mathbb{n} (m) .</math> Niech <math>q</math> będzie liczbą pierwszą taką, że <math>2 < q <\mathbb{n} (m) .</math> Kongruencję
 
 
 
::<math>x^2 \equiv q \pmod{2 m} \qquad \qquad (1)</math>
 
 
 
możemy zapisać w&nbsp;postaci układu kongruencji równoważnych (zobacz J1)
 
 
 
::<math>\begin{align}
 
x^2 & \equiv q \pmod{m} \qquad \qquad \;\: (2) \\
 
x^2 & \equiv q \pmod{2} \qquad \qquad \;\;\,\, (3) \\
 
\end{align}</math>
 
 
 
Z definicji <math>q</math> jest liczbą kwadratową modulo <math>m</math>, zatem kongruencja <math>(2)</math> ma rozwiązanie – oznaczmy to rozwiązanie przez <math>x_0 .</math> Łatwo zauważamy, że liczba
 
 
 
::<math>x'_0 =
 
  \begin{cases}
 
  \;\;\;\; x_0 & \text{gdy} \quad x_0 \equiv 1 \pmod{2} \\
 
  x_0 + m & \text{gdy} \quad x_0 \equiv 0 \pmod{2} \\
 
  \end{cases}</math>
 
 
 
jest rozwiązaniem układu kongruencji <math>(2)</math> i <math>(3)</math>, a&nbsp;tym samym kongruencja <math>(1)</math> ma rozwiązanie dla każdego <math>2 < q <\mathbb{n} (m) .</math> Wynika stąd, że <math>\mathbb{n} (2 m) =\mathbb{n} (m) .</math><br/>
 
&#9633;
 
{{\Spoiler}}
 
 
 
 
 
 
 
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J87</span><br/>
 
Niech <math>m</math> będzie liczbą nieparzystą, a <math>\mathbb{n} (m)</math> będzie najmniejszą liczbą niekwadratową modulo <math>m .</math> Mamy
 
 
 
::<math>\begin{array}{lllll}
 
  \mathbb{n} (4 m) \geqslant 5 & & \mathbb{n} (m) = 2        & & \text{gdy } \;\; 3 \mid m \\
 
  \mathbb{n} (4 m) = 3        & & \mathbb{n} (m) \geqslant 2 & & \text{gdy } \;\; 3 \nmid m \\
 
\end{array}</math>
 
 
 
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 
 
 
'''Punkt 1.'''
 
 
 
Z twierdzenia J81 wynika, że w&nbsp;przypadku, gdy <math>3 \mid m</math>, to <math>\mathbb{n} (m) = 2 .</math> Ponieważ <math>2 \mid 4 m</math> i <math>3 \mid 4 m</math>, to <math>\mathbb{n} (4 m) \geqslant 5 .</math>
 
 
 
'''Punkt 2.'''
 
 
 
Ponieważ <math>m</math> jest liczbą nieparzystą, to <math>8 \nmid 4 m</math>, ale <math>4 \mid 4 m \;</math> i <math>\; 4 \nmid (3 - 1)</math>, zatem z&nbsp;twierdzenia J56 wynika, że kongruencja
 
 
 
::<math>x^2 \equiv 3 \pmod{4 m}</math>
 
 
 
nie ma rozwiązania. Ponieważ <math>2 \mid 4 m \;</math> i <math>\; 3 \nmid 4 m</math>, to <math>\mathbb{n} (4 m) = 3 .</math><br/>
 
&#9633;
 
{{\Spoiler}}
 
 
 
 
 
 
 
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J88</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 \mid m</math>, to <math>a</math> jest liczbą niekwadratową modulo <math>m .</math>
 
 
 
{{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
 
 
 
::<math>x^2 \equiv a \pmod{m}</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
 
 
 
::<math>k^2 \equiv a \pmod{m}</math>
 
 
 
Ponieważ z&nbsp;założenia <math>p \mid 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}}
 
 
 
 
 
 
 
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J89</span><br/>
 
Niech <math>m \geqslant 3</math> będzie liczbą nieparzystą. Jeżeli liczba <math>\mathbb{n} = \mathbb{n} (m)</math> jest najmniejszą liczbą niekwadratową modulo <math>m</math>, to istnieje taki dzielnik pierwszy <math>p</math> liczby <math>m</math>, że <math>\mathbb{n}</math> jest najmniejszą liczbą niekwadratową modulo <math>p .</math>
 
 
 
{{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>\{ \mathbb{n}_1, \ldots, \mathbb{n}_s \}</math>, z&nbsp;których każda jest liczbą niekwadratową modulo <math>m</math> (zobacz J88). Wynika stąd, że liczba <math>\mathbb{n} = \mathbb{n} (m)</math> musi być mniejsza od każdej z&nbsp;liczb <math>\mathbb{n}_k .</math>
 
 
 
Z definicji liczba <math>\mathbb{n} = \mathbb{n} (m)</math> jest liczbą niekwadratową modulo <math>m</math>, co oznacza, że kongruencja
 
 
 
::<math>x^2 \equiv \mathbb{n} \pmod{m}</math>
 
 
 
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
 
 
 
::<math>x^2 \equiv \mathbb{n} \pmod{p^{\alpha_k}_k}</math>
 
 
 
musi nie mieć rozwiązania (zobacz J11). Z&nbsp;twierdzenia J50 wiemy, że wtedy kongruencja
 
 
 
::<math>x^2 \equiv \mathbb{n} \pmod{p_k}</math>
 
 
 
również nie ma rozwiązania. Zatem <math>\mathbb{n}</math> jest liczbą niekwadratową modulo <math>p_k \,</math> i <math>\, \mathbb{n} < \mathbb{n}_k</math>, co przeczy definicji liczby <math>\mathbb{n}_k .</math><br/>
 
&#9633;
 
{{\Spoiler}}
 
 
 
 
 
 
 
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J90</span><br/>
 
Niech <math>m \geqslant 3</math> będzie liczbą nieparzystą. Jeżeli <math>m = p^{\alpha_1}_1 \cdot \ldots \cdot p^{\alpha_s}_s</math>, to
 
 
 
::<math>\mathbb{n}(m) = \min ( \mathbb{n} (p_1), \ldots, \mathbb{n} (p_s) )</math>
 
 
 
gdzie <math>\mathbb{n}(m)</math> jest najmniejszą liczbą kwadratową modulo <math>m</math>, a <math>\mathbb{n}(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}}
 
Twierdzenie to jest prostym wnioskiem z&nbsp;twierdzenia J89, ale musimy jeszcze pokazać, że <math>\gcd (\mathbb{n} (m), m) = 1 .</math> Przypuśćmy, że <math>p_k |\mathbb{n} (m)</math> dla pewnego <math>1 \leqslant k \leqslant s .</math> Ponieważ <math>\mathbb{n} (m)</math> jest liczbą pierwszą, to musi być <math>\mathbb{n} (m) = p_k</math>, ale wtedy
 
 
 
::<math>\mathbb{n} (p_k) < p_k =\mathbb{n} (m) \leqslant \mathbb{n} (p_k)</math>
 
 
 
Otrzymana sprzeczność dowodzi, że <math>\mathbb{n} (m)</math> jest względnie pierwsza z&nbsp;każdą z&nbsp;liczb pierwszych <math>p_i</math>, gdzie <math>1 \leqslant i \leqslant s .</math> Co kończy dowód.<br/>
 
&#9633;
 
{{\Spoiler}}
 
 
 
 
 
 
 
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J91</span><br/>
 
Niech <math>m \geqslant 3</math> będzie liczbą nieparzystą, a <math>\mathbb{n}(m)</math> jest najmniejszą liczbą niekwadratową modulo <math>m .</math> Prawdziwe są oszacowania
 
 
 
::<math>\mathbb{n}(m) < \sqrt{m} + {\small\frac{1}{2}} \qquad \qquad \qquad \;\;\, \text{dla } m \geqslant 3</math>
 
 
 
::<math>\mathbb{n}(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}}
 
Niech <math>p</math> będzie dzielnikiem pierwszym liczby <math>m</math> takim, że <math>\mathbb{n}(m) = \mathbb{n} (p)</math> (z twierdzenia J89 wiemy, że taki dzielnik istnieje). Jeżeli prawdziwe jest oszacowanie <math>\mathbb{n}(p) < F (p)</math>, gdzie <math>F(x)</math> jest funkcją rosnącą, to
 
 
 
::<math>\mathbb{n}(m) = \mathbb{n} (p) < F (p) \leqslant F (m)</math>
 
 
 
Podane w&nbsp;twierdzeniu oszacowania wynikają natychmiast z&nbsp;twierdzeń J68 i&nbsp;J69.<br/>
 
&#9633;
 
{{\Spoiler}}
 
 
 
 
 
 
 
<span style="font-size: 110%; font-weight: bold;">Uwaga J92</span><br/>
 
Liczby <math>\mathbb{n} (m)</math> są zaskakująco małe. Średnia wartość <math>\mathbb{n} = \mathbb{n} (m)</math> wynosi<ref name="Pollack1"/>
 
 
 
::<math>\lim_{x \to \infty} {\small\frac{1}{x}} \sum_{m \leqslant x} \mathbb{n} (m) = 2 + \sum_{k = 3}^{\infty} {\small\frac{p_k - 1}{p_1 \cdot \ldots \cdot p_{k - 1}}} = 2.920050977 \ldots</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 J93</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>.
 
 
 
::{| class="wikitable plainlinks"  style="font-size: 100%; text-align: center; margin-right: auto;"
 
! <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{\mathbb{n}( 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{\mathbb{n}( 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>
 
|}
 
 
 
 
 
 
 
<span style="font-size: 110%; font-weight: bold;">Uwaga J94</span><br/>
 
Do wyszukiwania liczb <math>c = c (m)</math> Czytelnik może wykorzystać prostą funkcję napisaną w&nbsp;PARI/GP
 
 
 
<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>
 
 
 
 
 
 
 
<span style="font-size: 110%; font-weight: bold;">Uwaga J95</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>\mathbb{n}(p)</math> i <math>\mathbb{n}(m)</math>. Wystarczy zwrócić uwagę na występujące w&nbsp;tabeli liczby <math>\mathbb{n}(p)</math>, <math>\mathbb{n}(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.
 
 
 
Ponieważ <math>c(m)</math> nie zawsze będzie najmniejszą liczbą kwadratową modulo <math>m</math>, to mamy natychmiast oszacowanie: <math>c(m) \geqslant \mathbb{n} (m)</math> (poza przypadkami, gdy <math>m = n^2</math>).
 
 
 
Dla <math>c(m)</math> nie są prawdziwe oszacowania podane w&nbsp;twierdzeniu J68. Łatwo zauważamy, że
 
 
 
::<math>c = c (15) = 7 > \sqrt{15} + {\small\frac{1}{2}} \approx 4.37</math>
 
 
 
::<math>c = c (39) = 7 > \sqrt{39} + {\small\frac{1}{2}} \approx 6.74</math>
 
 
 
::<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="font-size: 110%; font-weight: bold;">Twierdzenie J96</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ą.
 
 
 
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 
Przypuśćmy, że <math>c = a b</math> jest liczbą złożoną, gdzie <math>1 < a, b < c</math>. Mamy
 
 
 
::<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>
 
 
 
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}}
 
 
 
 
 
 
 
 
 
 
 
== Liczby pierwsze postaci <math>x^2 + n y^2</math> ==
 
 
 
<span style="font-size: 110%; font-weight: bold;">Przykład J97</span><br/>
 
Przedstawiamy wszystkie rozkłady liczb naturalnych nie większych od <math>85</math> na sumę postaci <math>x^2 + y^2</math>, gdzie <math>x, y \in \mathbb{N}_0</math>. Rozkłady różniące się jedynie kolejnością liczb <math>x , y</math> nie zostały uwzględnione.
 
 
 
{| class="wikitable plainlinks"  style="font-size: 70%; text-align: center; margin-right: auto;"
 
|-
 
! <math>\boldsymbol{n}</math>
 
| <math>1</math> || style="background-color: #99cc66" | <math>2</math> || <math>4</math> || style="background-color: #99cc66" | <math>5</math> || <math>8</math> || <math>9</math> || <math>10</math> || style="background-color: #99cc66" | <math>13</math> || <math>16</math> || style="background-color: #99cc66" | <math>17</math> || <math>18</math> || <math>20</math> || <math>25</math> || <math>26</math> || style="background-color: #99cc66" | <math>29</math> || <math>32</math> || <math>34</math> || <math>36</math> || style="background-color: #99cc66" | <math>37</math> || <math>40</math> || style="background-color: #99cc66" | <math>41</math> || <math>45</math> || <math>49</math> || <math>50</math> || <math>52</math> || style="background-color: #99cc66" | <math>53</math> || <math>58</math> ||style="background-color: #99cc66" | <math>61</math> || <math>64</math> || <math>65</math> || <math>68</math> || <math>72</math> || style="background-color: #99cc66" | <math>73</math> || <math>74</math> || <math>80</math> || <math>81</math> || <math>82</math> || <math>85</math>
 
|-
 
! <math>\boldsymbol{x,y}</math>
 
| <math>1,0</math> || <math>1,1</math> || <math>2,0</math> || <math>2,1</math> || <math>2,2</math> || <math>3,0</math> || <math>3,1</math> || <math>3,2</math> || <math>4,0</math> || <math>4,1</math> || <math>3,3</math> || <math>4,2</math> || <math>5,0</math> || <math>5,1</math> || <math>5,2</math> || <math>4,4</math> || <math>5,3</math> || <math>6,0</math> || <math>6,1</math> || <math>6,2</math> || <math>5,4</math> || <math>6,3</math> || <math>7,0</math> || <math>7,1</math> || <math>6,4</math> || <math>7,2</math> || <math>7,3</math> || <math>6,5</math> || <math>8,0</math> || <math>8,1</math> || <math>8,2</math> || <math>6,6</math> || <math>8,3</math> || <math>7,5</math> || <math>8,4</math> || <math>9,0</math> || <math>9,1</math> || <math>9,2</math>
 
|-
 
! <math>\boldsymbol{x,y}</math>
 
| <math></math> || <math></math> || <math></math> || <math></math> || <math></math> || <math></math> || <math></math> || <math></math> || <math></math> || <math></math> || <math></math> || <math></math> || <math>4,3</math> || <math></math> || <math></math> || <math></math> || <math></math> || <math></math> || <math></math> || <math></math> || <math></math> || <math></math> || <math></math> || <math>5,5</math> || <math></math> || <math></math> || <math></math> || <math></math> || <math></math> || <math>7,4</math> || <math></math> || <math></math> || <math></math> || <math></math> || <math></math> || <math></math> || <math></math> || <math>7,6</math>
 
|}
 
 
 
Zauważmy, że liczba złożona <math>21</math> nie ma rozkładu na sumę kwadratów, a&nbsp;liczba złożona <math>65</math> ma dwa takie rozkłady. Obie liczby są postaci <math>4 k + 1</math>.
 
 
 
 
 
 
 
<span style="font-size: 110%; font-weight: bold;">Przykład J98</span><br/>
 
Przedstawiamy wszystkie rozkłady liczb naturalnych nie większych od <math>73</math> na sumę postaci <math>x^2 + 2 y^2</math>, gdzie <math>x, y \in \mathbb{N}_0</math>.
 
 
 
{| class="wikitable plainlinks"  style="font-size: 70%; text-align: center; margin-right: auto;"
 
|-
 
! <math>\boldsymbol{n}</math>
 
| <math>1</math> || style="background-color: #99cc66" | <math>2</math> || style="background-color: #99cc66" | <math>3</math> || <math>4</math> || <math>6</math> || <math>8</math> || <math>9</math> || style="background-color: #99cc66" | <math>11</math> || <math>12</math> || <math>16</math> || style="background-color: #99cc66" | <math>17</math> || <math>18</math> || style="background-color: #99cc66" | <math>19</math> || <math>22</math> || <math>24</math> || <math>25</math> || <math>27</math> || <math>32</math> || <math>33</math> || <math>34</math> || <math>36</math> || <math>38</math> || style="background-color: #99cc66" | <math>41</math> || style="background-color: #99cc66" | <math>43</math> || <math>44</math> || <math>48</math> || <math>49</math> || <math>50</math> || <math>51</math> || <math>54</math> || <math>57</math> || style="background-color: #99cc66" | <math>59</math> || <math>64</math> || <math>66</math> || style="background-color: #99cc66" | <math>67</math> || <math>68</math> || <math>72</math> || style="background-color: #99cc66" | <math>73</math>
 
|-
 
! <math>\boldsymbol{x,y}</math>
 
| <math>1,0</math> || <math>0,1</math> || <math>1,1</math> || <math>2,0</math> || <math>2,1</math> || <math>0,2</math> || <math>3,0</math> || <math>3,1</math> || <math>2,2</math> || <math>4,0</math> || <math>3,2</math> || <math>4,1</math> || <math>1,3</math> || <math>2,3</math> || <math>4,2</math> || <math>5,0</math> || <math>5,1</math> || <math>0,4</math> || <math>5,2</math> || <math>4,3</math> || <math>6,0</math> || <math>6,1</math> || <math>3,4</math> || <math>5,3</math> || <math>6,2</math> || <math>4,4</math> || <math>7,0</math> || <math>0,5</math> || <math>7,1</math> || <math>6,3</math> || <math>7,2</math> || <math>3,5</math> || <math>8,0</math> || <math>8,1</math> || <math>7,3</math> || <math>6,4</math> || <math>8,2</math> || <math>1,6</math>
 
|-
 
! <math>\boldsymbol{x,y}</math>
 
| <math></math> || <math></math> || <math></math> || <math></math> || <math></math> || <math></math> || <math>1,2</math> || <math></math> || <math></math> || <math></math> || <math></math> || <math>0,3</math> || <math></math> || <math></math> || <math></math> || <math></math> || <math>3,3</math> || <math></math> || <math>1,4</math> || <math></math> || <math>2,4</math> || <math></math> || <math></math> || <math></math> || <math></math> || <math></math> || <math></math> || <math></math> || <math>1,5</math> || <math>2,5</math> || <math>5,4</math> || <math></math> || <math></math> || <math>4,5</math> || <math></math> || <math></math> || <math>0,6</math> || <math></math>
 
|}
 
 
 
Zauważmy, że liczba złożona <math>65</math> nie ma rozkładu na sumę postaci <math>x^2 + 2 y^2</math>, a&nbsp;liczba złożona <math>33</math> ma dwa takie rozkłady. Obie liczby są postaci <math>8 k + 1</math>.
 
 
 
Zauważmy też, że liczba złożona <math>35</math> nie ma rozkładu na sumę postaci <math>x^2 + 2 y^2</math>, a&nbsp;liczba złożona <math>27</math> ma dwa takie rozkłady. Obie liczby są postaci <math>8 k + 3</math>.
 
 
 
 
 
 
 
<span style="font-size: 110%; font-weight: bold;">Przykład J99</span><br/>
 
Przedstawiamy wszystkie rozkłady liczb naturalnych nie większych od <math>103</math> na sumę postaci <math>x^2 + 3 y^2</math>, gdzie <math>x, y \in \mathbb{N}_0</math>.
 
 
 
{| class="wikitable plainlinks"  style="font-size: 70%; text-align: center; margin-right: auto;"
 
|-
 
! <math>\boldsymbol{n}</math>
 
| <math>1</math> || style="background-color: #99cc66" | <math>3</math> || <math>4</math> || style="background-color: #99cc66" | <math>7</math> || <math>9</math> || <math>12</math> || style="background-color: #99cc66" | <math>13</math> || <math>16</math> || style="background-color: #99cc66" | <math>19</math> || <math>21</math> || <math>25</math> || <math>27</math> || <math>28</math> || style="background-color: #99cc66" | <math>31</math> || <math>36</math> || style="background-color: #99cc66" | <math>37</math> || <math>39</math> || style="background-color: #99cc66" | <math>43</math> || <math>48</math> || <math>49</math> || <math>52</math> || <math>57</math> || style="background-color: #99cc66" | <math>61</math> || <math>63</math> || <math>64</math> || style="background-color: #99cc66" | <math>67</math> || style="background-color: #99cc66" | <math>73</math> || <math>75</math> || <math>76</math> || style="background-color: #99cc66" | <math>79</math> || <math>81</math> || <math>84</math> || <math>91</math> || <math>93</math> || style="background-color: #99cc66" | <math>97</math> || <math>100</math> || style="background-color: #99cc66" | <math>103</math>
 
|-
 
! <math>\boldsymbol{x,y}</math>
 
| <math>1,0</math> || <math>0,1</math> || <math>2,0</math> || <math>2,1</math> || <math>3,0</math> || <math>3,1</math> || <math>1,2</math> || <math>4,0</math> || <math>4,1</math> || <math>3,2</math> || <math>5,0</math> || <math>0,3</math> || <math>5,1</math> || <math>2,3</math> || <math>6,0</math> || <math>5,2</math> || <math>6,1</math> || <math>4,3</math> || <math>6,2</math> || <math>7,0</math> || <math>7,1</math> || <math>3,4</math> || <math>7,2</math> || <math>6,3</math> || <math>8,0</math> || <math>8,1</math> || <math>5,4</math> || <math>0,5</math> || <math>8,2</math> || <math>2,5</math> || <math>9,0</math> || <math>9,1</math> || <math>8,3</math> || <math>9,2</math> || <math>7,4</math> || <math>10,0</math> || <math>10,1</math>
 
|-
 
! <math>\boldsymbol{x,y}</math>
 
| <math></math> || <math></math> || <math>1,1</math> || <math></math> || <math></math> || <math>0,2</math> || <math></math> || <math>2,2</math> || <math></math> || <math></math> || <math></math> || <math></math> || <math>4,2</math> || <math></math> || <math>3,3</math> || <math></math> || <math></math> || <math></math> || <math>0,4</math> || <math>1,4</math> || <math>5,3</math> || <math></math> || <math></math> || <math></math> || <math>4,4</math> || <math></math> || <math></math> || <math></math> || <math>7,3</math> || <math></math> || <math></math> || <math>6,4</math> || <math>4,5</math> || <math></math> || <math></math> || <math>5,5</math> || <math></math>
 
|-
 
! <math>\boldsymbol{x,y}</math>
 
| <math></math> || <math></math> || <math></math> || <math></math> || <math></math> || <math></math> || <math></math> || <math></math> || <math></math> || <math></math> || <math></math> || <math></math> || <math>1,3</math> || <math></math> || <math></math> || <math></math> || <math></math> || <math></math> || <math></math> || <math></math> || <math>2,4</math> || <math></math> || <math></math> || <math></math> || <math></math> || <math></math> || <math></math> || <math></math> || <math>1,5</math> || <math></math> || <math></math> || <math>3,5</math> || <math></math> || <math></math> || <math></math> || <math></math> || <math></math>
 
|}
 
 
 
Zauważmy, że liczba złożona <math>55</math> nie ma rozkładu na sumę postaci <math>x^2 + 3 y^2</math>, a&nbsp;liczba złożona <math>91</math> ma dwa takie rozkłady. Obie liczby są postaci <math>6 k + 1</math>.
 
 
 
 
 
 
 
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J100</span><br/>
 
Jeżeli liczba nieparzysta postaci <math>Q = x^2 + n y^2</math>, gdzie <math>n \in \{ 1, 2, 3 \}</math>, ma dwa różne takie przedstawienia w&nbsp;liczbach całkowitych dodatnich, to jest liczbą złożoną.
 
 
 
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 
W dowodzie wyróżniliśmy miejsca, które wymagają oddzielnej analizy ze względu na wartość liczby <math>n</math>.
 
 
 
Niech
 
 
 
::<math>Q = x^2 + n y^2 = a^2 + n b^2</math>
 
 
 
<div style="border: thin solid black; padding-top: 0em; margin-top: 0.5em; padding-bottom: 0em; margin-bottom: 0.5em;">
 
<math>\boldsymbol{n = 1}</math>
 
 
 
Z założenia <math>Q</math> jest liczbą nieparzystą, zatem liczby występujące w&nbsp;rozkładach <math>x^2 + y^2 = a^2 + b^2</math> muszą mieć przeciwną parzystość. Nie zmniejszając ogólności, możemy założyć, że liczby <math>x, a</math> są parzyste, a&nbsp;liczby <math>y, b</math> nieparzyste.
 
 
 
<math>\boldsymbol{n = 2}</math>
 
 
 
Z założenia <math>Q</math> jest liczbą nieparzystą, zatem liczby <math>x, a</math> występująca w&nbsp;rozkładach <math>x^2 + 2 y^2 = a^2 + 2 b^2</math> muszą być nieparzyste. Pokażemy, że liczby <math>y, b</math> muszą mieć taką samą parzystość. Przypuśćmy, że <math>y</math> jest parzysta, a <math>b</math> nieparzysta, wtedy modulo <math>4</math> dostajemy
 
 
 
::<math>1 + 2 \cdot 0 \equiv 1 + 2 \cdot 1 \!\! \pmod{4}</math>
 
 
 
Co jest niemożliwe.
 
 
 
<math>\boldsymbol{n = 3}</math>
 
 
 
Z założenia <math>Q</math> jest liczbą nieparzystą, zatem liczby występujące w&nbsp;rozkładach <math>x^2 + 3 y^2 = a^2 + 3 b^2</math> muszą mieć przeciwną parzystość. Pokażemy, że liczby <math>x, a</math> muszą mieć taką samą parzystość. Gdyby liczba <math>x</math> była nieparzysta, a&nbsp;liczba <math>a</math> parzysta, to modulo <math>4</math> mielibyśmy
 
 
 
::<math>1 + 3 \cdot 0 \equiv 0 + 3 \cdot 1 \!\! \pmod{4}</math>
 
 
 
Co jest niemożliwe.
 
</div>
 
Mamy
 
 
 
::<math>x^2 - a^2 = n (b^2 - y^2)</math>
 
 
 
::<math>(x - a) (x + a) = n (b - y) (b + y)</math>
 
 
 
Niech <math>f = \gcd (x - a, b - y)</math>, zatem <math>f</math> jest liczbą parzystą i
 
 
 
::<math>x - a = f r , \qquad \qquad b - y = f s , \qquad \qquad \gcd (r, s) = 1</math>
 
 
 
Czyli
 
 
 
::<math>r(x + a) = n s (y + b)</math>
 
 
 
ale liczby <math>r, s</math> są względnie pierwsze, zatem <math>s \mid (x + a)</math> i&nbsp;musi być
 
 
 
::<math>x + a = k s \qquad \qquad \Longrightarrow \qquad \qquad n (y + b) = k r</math>
 
 
 
Gdyby <math>k</math> było liczbą nieparzystą, to liczby <math>r, s</math> musiałyby być parzyste, co jest niemożliwe, bo <math>\gcd (r, s) = 1</math>. Zatem <math>k</math> jest liczbą parzystą i <math>2 s \mid (x + a)</math>, czyli możemy pokazać więcej. Musi być
 
 
 
::<math>x + a = 2 l s \qquad \qquad \Longrightarrow \qquad \qquad n (y + b) = 2 l r</math>
 
 
 
W przypadku gdy <math>n = 2</math> lub <math>n = 3</math>, zauważmy, że <math>n \mid l</math> lub <math>n \mid r</math>.
 
 
 
Łatwo otrzymujemy
 
 
 
::<math>x = {\small\frac{1}{2}} (2 l s + f r)</math>
 
 
 
::<math>y = {\small\frac{1}{2 n}} (2 l r - n f s)</math>
 
 
 
Ostatecznie
 
 
 
::<math>Q = x^2 + n y^2</math>
 
 
 
::<math>\;\;\;\: = \left[ {\small\frac{1}{2}} (2 l s + f r) \right]^2 + n \left[ {\small\frac{1}{2 n}} (2 l r - n f s) \right]^2</math>
 
 
 
::<math>\;\;\;\: = {\small\frac{1}{4 n}} [n (2 l s + f r)^2 + (2 l r - n f s)^2]</math>
 
 
 
::<math>\;\;\;\: = {\small\frac{1}{4 n}} [n (2 l s)^2 + n (f r)^2 + (2 l r)^2 + (n f s)^2]</math>
 
 
 
::<math>\;\;\;\: = {\small\frac{1}{4 n}} [(2 l)^2 + n f^2] (r^2 + n s^2)</math>
 
 
 
<div style="border: thin solid black; padding-top: 0em; margin-top: 0.5em; padding-bottom: 0em; margin-bottom: 0.5em;">
 
<math>\boldsymbol{n = 1}</math>
 
 
 
::<math>Q = {\small\frac{1}{4}} [(2 l)^2 + f^2] (r^2 + s^2) = \left[ l^2 + \left( {\small\frac{f}{2}} \right)^2 \right] (r^2 + s^2)</math>
 
 
 
<math>\boldsymbol{n = 2 , 3}</math>
 
 
 
W zależności od tego, która z&nbsp;liczb <math>l, r</math> jest podzielna przez <math>n</math>, możemy napisać
 
 
 
::<math>Q = {\small\frac{1}{4 n}} [(2 l)^2 + n f^2] (r^2 + n s^2) = \left[ {\small\frac{(2 l)^2 + n f^2}{4 n}} \right] (r^2 + n s^2) = \left[ {\small\frac{(2 l)^2 + n f^2}{4}} \right] \left( {\small\frac{r^2 + n s^2}{n}} \right)</math>
 
</div>
 
 
 
Co kończy dowód.<br/>
 
&#9633;
 
{{\Spoiler}}
 
 
 
 
 
 
 
<span style="font-size: 110%; font-weight: bold;">Uwaga J101</span><br/>
 
Zauważmy, że iloczyn liczb postaci <math>x^2 + n y^2</math> jest liczbą tej samej postaci.
 
 
 
::<math>(a^2 + n b^2) (x^2 + n y^2) = (a x + n b y)^2 + n (a y - b x)^2</math>
 
 
 
::::::::<math>\;\;\;\:\, = (a x - n b y)^2 + n (a y + b x)^2</math>
 
 
 
 
 
 
 
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J102</span><br/>
 
Niech <math>x, y, a, b \in \mathbb{Z}</math> i <math>n \in \{ 1, 2, 3 \}</math>. Jeżeli liczba parzysta <math>Q = x^2 + n y^2</math>, to <math>Q = 2^{\alpha} R</math>, gdzie <math>R = a^2 + n b^2</math> jest liczbą nieparzystą.
 
 
 
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 
W szczególnym przypadku, gdy <math>R = 1</math>, mamy <math>R = 1^2 + n \cdot 0^2</math>.
 
 
 
Dowód sprowadza się do podania wzorów, które pozwalają obniżyć wykładnik, z&nbsp;jakim liczba <math>2</math> występuje w&nbsp;rozwinięciu na czynniki pierwsze liczby <math>Q</math>. Zauważmy, że wynik jest zawsze liczbą, której postać jest taka sama, jak postać liczby <math>Q</math>. Stosując te wzory odpowiednią ilość razy, otrzymujmy rozkład <math>Q = 2^{\alpha} R</math>, gdzie <math>R</math> jest liczbą nieparzystą postaci <math>a^2 + n b^2</math>.
 
 
 
'''1.''' <math>\boldsymbol{Q = x^2 + y^2}</math>
 
 
 
a) jeżeli liczby <math>x, y</math> są parzyste, to <math>{\small\frac{Q}{4}} = \left( {\small\frac{x}{2}} \right)^2 + \left( {\small\frac{y}{2}} \right)^2</math>
 
 
 
b) jeżeli liczby <math>x, y</math> są nieparzyste, to <math>{\small\frac{Q}{2}} = \left( {\small\frac{x + y}{2}} \right)^2 + \left( {\small\frac{x - y}{2}} \right)^2</math>
 
 
 
'''2.''' <math>\boldsymbol{Q = x^2 + 2 y^2}</math>
 
 
 
a) jeżeli liczby <math>x, y</math> są parzyste, to <math>{\small\frac{Q}{4}} = \left( {\small\frac{x}{2}} \right)^2 + 2 \left( {\small\frac{y}{2}} \right)^2</math>
 
 
 
b) jeżeli liczba <math>x</math> jest parzysta, a <math>y</math> nieparzysta, to <math>{\small\frac{Q}{2}} = y^2 + 2 \left( {\small\frac{x}{2}} \right)^2</math>
 
 
 
'''3.''' <math>\boldsymbol{Q = x^2 + 3 y^2}</math>
 
 
 
a) jeżeli liczby <math>x, y</math> są parzyste, to <math>{\small\frac{Q}{4}} = \left( {\small\frac{x}{2}} \right)^2 + 3 \left( {\small\frac{y}{2}} \right)^2</math>
 
 
 
b) jeżeli liczby <math>x, y</math> są nieparzyste i <math>4| (x + y)</math>, to <math>{\small\frac{Q}{4}} = \left( {\small\frac{x - 3 y}{4}} \right)^2 + 3 \left( {\small\frac{x + y}{4}} \right)^2</math>
 
 
 
c) jeżeli liczby <math>x, y</math> są nieparzyste i <math>4| (x - y)</math>, to <math>{\small\frac{Q}{4}} = \left( {\small\frac{x + 3 y}{4}} \right)^2 + 3 \left( {\small\frac{x - y}{4}} \right)^2</math>
 
 
 
Co należało pokazać.<br/>
 
&#9633;
 
{{\Spoiler}}
 
 
 
 
 
 
 
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J103</span><br/>
 
Liczba pierwsza <math>p \geqslant 3</math> jest postaci
 
 
 
:(a)&nbsp;&nbsp;<math>4 k + 1</math>
 
 
 
:(b)&nbsp;&nbsp;<math>8 k + 1 \,</math> lub <math>\: 8 k + 3</math>
 
 
 
:(c)&nbsp;&nbsp;<math>6 k + 1</math>
 
 
 
wtedy i&nbsp;tylko wtedy, gdy istnieje dokładnie jedna para liczb całkowitych dodatnich <math>x, y</math>, że
 
 
 
:(a)&nbsp;&nbsp;<math>p = x^2 + y^2</math>
 
 
 
:(b)&nbsp;&nbsp;<math>p = x^2 + 2 y^2</math>
 
 
 
:(c)&nbsp;&nbsp;<math>p = x^2 + 3 y^2</math>
 
 
 
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 
 
 
<math>\Large{\Longleftarrow}</math>
 
 
 
Niech <math>n = 1, 2, 3</math>. Z&nbsp;założenia liczba pierwsza <math>p \geqslant 3</math> może być przedstawiona w&nbsp;postaci <math>p = x_0^2 + n y_0^2</math>, gdzie <math>x_0, y_0</math> są liczbami takimi, że <math>1 \leqslant x_0, y_0 < p</math>. Zatem <math>p \nmid x_0</math> i <math>p \nmid y_0</math>, a&nbsp;rozpatrując równanie <math>p = x_0^2 + n y_0^2</math> modulo <math>p</math> dostajemy
 
 
 
::<math>x_0^2 + n y_0^2 \equiv 0 \!\! \pmod{p}</math>
 
 
 
Zauważmy, że liczba <math>x_0</math> jest rozwiązaniem kongruencji
 
 
 
::<math>x^2 \equiv - n y_0^2 \!\! \pmod{p}</math>
 
 
 
Wynika stąd, że liczba <math>- n y_0^2</math> jest liczbą kwadratową modulo <math>p</math>. Zatem
 
 
 
<div style="margin-top: 1em; margin-bottom: 1em;">
 
::<math>\left( {\small\frac{- n y_0^2}{p}} \right)_{\small{\!\! J}} = \left( {\small\frac{- n}{p}} \right)_{\small{\!\! J}} \cdot \left( {\small\frac{y_0^2}{p}} \right)_{\small{\!\! J}} = \left( {\small\frac{- n}{p}} \right)_{\small{\!\! J}} = 1</math>
 
</div>
 
 
 
Z twierdzenia J42 i&nbsp;zadania J46 otrzymujemy natychmiast
 
 
 
:(a) jeżeli <math>\left( {\small\frac{- 1}{p}} \right)_{\small{\!\! J}} = 1</math>, to liczba pierwsza <math>p</math> musi być postaci <math>4 k + 1</math>
 
 
 
:(b) jeżeli <math>\left( {\small\frac{- 2}{p}} \right)_{\small{\!\! J}} = 1</math>, to liczba pierwsza <math>p</math> musi być postaci <math>8 k + 1</math> lub <math>8 k + 3</math>
 
 
 
:(c) jeżeli <math>\left( {\small\frac{- 3}{p}} \right)_{\small{\!\! J}} = 1</math>, to liczba pierwsza <math>p</math> musi być postaci <math>6 k + 1</math>
 
 
 
Co należało pokazać.
 
 
 
 
 
<math>\Large{\Longrightarrow}</math>
 
 
 
'''A. Istnienie rozwiązania kongruencji''' <math>\boldsymbol{x^2 + n y^2 \equiv 0 \!\! \pmod{p}}</math>
 
 
 
Z założenia liczba pierwsza <math>p \geqslant 3</math> jest postaci
 
 
 
:(a)&nbsp;&nbsp;<math>4 k + 1</math>
 
 
 
:(b)&nbsp;&nbsp;<math>8 k + 1 \,</math> lub <math>\: 8 k + 3</math>
 
 
 
:(c)&nbsp;&nbsp;<math>6 k + 1</math>
 
 
 
Wynika stąd, że dla (a) <math>n = 1</math>, (b) <math>n = 2</math>, (c) <math>n = 3</math> mamy
 
 
 
::<math>\left( {\small\frac{- n}{p}} \right)_{\small{\!\! J}} = 1</math>
 
 
 
(zobacz J42 i&nbsp;J46) i&nbsp;liczba <math>- n</math> jest liczbą kwadratową modulo <math>p</math>. Zatem kongruencja
 
 
 
::<math>x^2 \equiv - n \!\! \pmod{p}</math>
 
 
 
ma rozwiązanie, czyli istnieje taka liczba <math>k</math>, że
 
 
 
::<math>k^2 + n \equiv 0 \!\! \pmod{p}</math>
 
 
 
Zauważmy, że liczby <math>x_0 = k</math> i <math>y_0 = 1</math> są szczególnymi przypadkami rozwiązania kongruencji
 
 
 
::<math>x^2 + n y^2 \equiv 0 \!\! \pmod{p}</math>
 
 
 
W przypadku (a), korzystając z&nbsp;twierdzenia Wilsona (zobacz J18), liczbę <math>x_0</math> możemy jawnie wypisać: <math>x_0 = \left( {\small\frac{p - 1}{2}} \right) !</math>
 
 
 
 
 
'''B. Zmniejszenie rozwiązania początkowego'''
 
 
 
Niech liczby <math>x_0, y_0</math> takie, że <math>p \nmid x_0 \,</math> i <math>\, p \nmid y_0</math> spełniają kongruencję
 
 
 
::<math>x_0^2 + n y_0^2 \equiv 0 \!\! \pmod{p}</math>
 
 
 
Wybierzmy liczby <math>r, s</math> tak, aby były najbliższymi liczbami całkowitymi odpowiednio dla liczb <math>{\small\frac{x_0}{p}} \,</math> i <math>\, {\small\frac{y_0}{p}}</math>. Z&nbsp;definicji mamy
 
 
 
::<math>\left| {\small\frac{x_0}{p}} - r \right| \leqslant {\small\frac{1}{2}} \qquad \qquad \text{i} \qquad \qquad \left| {\small\frac{y_0}{p}} - s \right| \leqslant {\small\frac{1}{2}}</math>
 
 
 
Zatem
 
 
 
::<math>| x_0 - r p | \leqslant {\small\frac{p}{2}} \qquad \qquad \text{i} \qquad \qquad | y_0 - s p | \leqslant {\small\frac{p}{2}}</math>
 
 
 
Ponieważ liczby po lewej stronie nierówności są liczbami całkowitymi, to nigdy nie będą równe liczbie <math>{\small\frac{p}{2}}</math>, gdzie <math>p</math> jest liczbą nieparzystą. Pozwala to wzmocnić wypisane nierówności.
 
 
 
::<math>| x_0 - r p | < {\small\frac{p}{2}} \qquad \qquad \text{i} \qquad \qquad | y_0 - s p | < {\small\frac{p}{2}}</math>
 
 
 
Wynika stąd, że dla dowolnego rozwiązania początkowego <math>x_0, y_0</math> możemy wybrać liczby
 
 
 
::<math>x = x_0 - r p \qquad \qquad \text{i} \qquad \qquad y = y_0 - s p</math>
 
 
 
takie, że <math>p \nmid x</math> oraz <math>p \nmid y</math> i&nbsp;dla których
 
 
 
::<math>0 < x^2 + n y^2 < \left( {\small\frac{p}{2}} \right)^2 + n \left( {\small\frac{p}{2}} \right)^2 = {\small\frac{(n + 1) p}{4}} \cdot p</math>
 
 
 
Ponieważ modulo <math>p</math> jest <math>x \equiv x_0 \,</math> i <math>\, y \equiv y_0</math>, to liczby <math>x, y</math> spełniają kongruencję
 
 
 
::<math>x^2 + n y^2 \equiv 0 \!\! \pmod{p}</math>
 
 
 
Zatem wynikające z&nbsp;powyższej kongruencji równanie
 
 
 
::<math>x^2 + n y^2 = m p</math>
 
 
 
ma rozwiązanie dla liczb
 
 
 
::<math>| x | < {\small\frac{p}{2}} , \qquad \qquad | y | < {\small\frac{p}{2}}, \qquad \qquad 1 \leqslant m < {\small\frac{(n + 1) p}{4}}</math>
 
 
 
Pomysł ze zmniejszaniem liczb stanowiących rozwiązanie za chwilę wykorzystamy ponownie i&nbsp;będzie to istotny element dowodu.
 
 
 
 
 
'''C. Metoda nieskończonego schodzenia Fermata'''<ref name="InfiniteDescent1"/><ref name="Bussey1"/>
 
 
 
Pomysł dowodu został zaczerpnięty z&nbsp;książki Hardy'ego i&nbsp;Wrighta<ref name="HardyWright1"/>.
 
 
 
Jeżeli w&nbsp;rozwiązaniu <math>m = 1</math>, to <math>p = x^2 + n y^2</math> i&nbsp;twierdzenie jest udowodnione. W&nbsp;przypadku gdy <math>m > 1</math> wskażemy sposób postępowania, który pozwoli nam z&nbsp;istniejącego rozwiązania równania
 
 
 
::<math>x^2 + n y^2 = m p</math>
 
 
 
otrzymać nowe rozwiązanie tej samej postaci
 
 
 
::<math>x_1^2 + n y_1^2 = m_1 p</math>
 
 
 
takie, że <math>1 \leqslant m_1 < m</math>. Powtarzając tę procedurę odpowiednią ilość razy, otrzymamy rozwiązanie <math>x_k, y_k, m_k</math>, gdzie <math>m_k = 1</math>. Istnienie takiej procedury stanowi dowód prawdziwości twierdzenia.
 
 
 
Zauważmy, że podział na parzyste i&nbsp;nieparzyste liczby <math>m</math> jest konieczny tylko w&nbsp;przypadku gdy <math>n = 3</math>. W&nbsp;pozostałych przypadkach nie musimy wzmacniać nierówności, aby prawdziwe było oszacowanie <math>1 \leqslant m_1 < m</math>.
 
 
 
'''Przypadek, gdy''' <math>\boldsymbol{m > 1}</math> '''jest liczbą parzystą'''
 
 
 
Jeżeli <math>m > 1</math> jest liczbą parzystą, to z&nbsp;twierdzenia J102 wiemy, że liczba <math>x^2 + n y^2</math> może być zapisana w&nbsp;postaci
 
 
 
::<math>x^2 + n y^2 = 2^{\alpha} (x^2_1 + n y^2_1)</math>
 
 
 
gdzie <math>x^2_1 + n y^2_1</math> jest liczbą nieparzystą. Wystarczy położyć <math>m_1 = {\small\frac{m}{2^{\alpha}}}</math>, aby z&nbsp;istniejącego rozwiązania otrzymać nowe rozwiązanie tej samej postaci
 
 
 
::<math>x_1^2 + n y_1^2 = m_1 p</math>
 
 
 
gdzie <math>m_1</math> jest liczbą nieparzystą i <math>1 \leqslant m_1 < m</math>.
 
 
 
'''Przypadek, gdy''' <math>\boldsymbol{m > 1}</math> '''jest liczbą nieparzystą'''
 
 
 
Niech liczby <math>r, s</math> będą liczbami całkowitymi najbliższymi liczbom <math>{\small\frac{x}{m}} \,</math> i <math>\, {\small\frac{y}{m}}</math>. Z&nbsp;definicji mamy
 
 
 
::<math>\left| {\small\frac{x}{m}} - r \right| \leqslant {\small\frac{1}{2}} \qquad \qquad \text{i} \qquad \qquad \left| {\small\frac{y}{m}} - s \right| \leqslant {\small\frac{1}{2}}</math>
 
 
 
Zatem
 
 
 
::<math>| x - r m | \leqslant {\small\frac{m}{2}} \qquad \qquad \text{i} \qquad \qquad | y - s m | \leqslant {\small\frac{m}{2}}</math>
 
 
 
Ponieważ liczby po lewej stronie nierówności są liczbami całkowitymi, to nigdy nie będą równe liczbie <math>{\small\frac{m}{2}}</math>, gdzie <math>m</math> jest liczbą nieparzystą. Pozwala to wzmocnić wypisane nierówności.
 
 
 
::<math>| x - r m | < {\small\frac{m}{2}} \qquad \qquad \text{i} \qquad \qquad | y - s m | < {\small\frac{m}{2}}</math>
 
 
 
Połóżmy
 
 
 
::<math>a = x - r m \qquad \qquad \text{i} \qquad \qquad b = y - s m</math>
 
 
 
Zauważmy, że liczba <math>m</math> nie może jednocześnie dzielić liczb <math>x</math> i <math>y</math>, bo mielibyśmy <math>m^2 \mid (x^2 + n y^2)</math>, czyli <math>m \mid p</math>, co jest niemożliwe. Zatem przynajmniej jedna z&nbsp;liczb <math>a, b</math> musi być różna od <math>0</math>.
 
 
 
Rozpatrując równanie <math>x^2 + n y^2 = m p</math> modulo <math>m</math> i&nbsp;uwzględniając, że
 
 
 
::<math>x \equiv a \!\! \pmod{m}</math>
 
 
 
::<math>y \equiv b \!\! \pmod{m}</math>
 
 
 
otrzymujemy
 
 
 
::<math>a^2 + n b^2 \equiv 0 \pmod{m}</math>
 
 
 
Mamy też oszacowanie
 
 
 
::<math>0 < a^2 + n b^2 < \left( {\small\frac{m}{2}} \right)^2 + n \cdot \left( {\small\frac{m}{2}} \right)^2 = {\small\frac{(n + 1) m^2}{4}} = {\small\frac{(n + 1) m}{4}} \cdot m</math>
 
 
 
Wynika stąd, że istnieje taka liczba <math>m_1</math> spełniająca warunek <math>1 \leqslant m_1 < {\small\frac{(n + 1) m}{4}}</math>, że
 
 
 
::<math>a^2 + n b^2 = m_1 m</math>
 
 
 
Mnożąc stronami powyższe równanie i&nbsp;równanie <math>x^2 + n y^2 = m p</math>, otrzymujemy
 
 
 
::<math>m_1 m^2 p = (a^2 + n b^2) (x^2 + n y^2)</math>
 
 
 
::::<math>\;\; = (a x + n b y)^2 + n (a y - b x)^2</math>
 
 
 
(zobacz J101). Zauważmy teraz, że
 
 
 
::<math>a x + n b y = (x - r m) x + n (y - s m) y</math>
 
 
 
::::<math>\quad \; = x^2 - r m x + n y^2 - n s m y</math>
 
 
 
::::<math>\quad \; = m (p - r x - n s y)</math>
 
 
 
::::<math>\quad \; = m x_1</math>
 
 
 
 
 
::<math>a y - b x = (x - r m) y - (y - s m) x</math>
 
 
 
::::<math>\;\;\, = x y - r m y - y x + s m x</math>
 
 
 
::::<math>\;\;\, = m (s x - r y)</math>
 
 
 
::::<math>\;\;\, = m y_1</math>
 
 
 
Gdzie oznaczyliśmy
 
 
 
::<math>x_1 = p - r x - n s y</math>
 
 
 
::<math>y_1 = s x - r y</math>
 
 
 
Wynika stąd, że
 
 
 
::<math>m_1 m^2 p = (m x_1)^2 + n (m y_1)^2</math>
 
 
 
Zatem
 
 
 
::<math>x^2_1 + n y^2_1 = m_1 p</math>
 
 
 
gdzie
 
 
 
::<math>1 \leqslant m_1 < {\small\frac{(n + 1) m}{4}}</math>
 
 
 
Czyli powtarzając odpowiednią ilość razy opisaną powyżej procedurę, otrzymamy <math>m_k = 1</math>.
 
 
 
 
 
'''D. Jednoznaczność rozkładu'''
 
 
 
Z założenia <math>p</math> jest liczbą pierwszą, zatem jednoznaczność rozkładu wynika z&nbsp;twierdzenia J100. Co kończy dowód.<br/>
 
&#9633;
 
{{\Spoiler}}
 
 
 
 
 
 
 
<span style="font-size: 110%; font-weight: bold;">Uwaga J104</span><br/>
 
Udowodnione wyżej twierdzenie można wykorzystać do znalezienia rozkładu liczby pierwszej <math>p</math> postaci <math>4 k + 1</math> na sumę dwóch kwadratów. Dla dużych liczb pierwszych funkcja działa wolno, bo dużo czasu zajmuje obliczanie silni.
 
 
 
{{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;">SumOfTwoSquares(p) =
 
{
 
'''local'''(m, r, s, x, y, x1, y1);
 
'''if'''( p%4 <> 1 || !'''isprime'''(p), '''return'''("Error") );
 
x = 1;
 
'''for'''(k = 2, (p-1)/2, x = (x*k)%p); \\ x = { [(p-1)/2]! } % p
 
x = x - '''round'''(x/p)*p;
 
y = 1;
 
m = (x^2 + y^2)/p;
 
'''while'''( m > 1,
 
        r = '''round'''(x/m);
 
        s = '''round'''(y/m);
 
        x1 = p - r*x - s*y;
 
        y1 = r*y - s*x;
 
        x = x1;
 
        y = y1;
 
        m = (x^2 + y^2)/p;
 
      );
 
'''return'''([ '''abs'''(x), '''abs'''(y), p ]);
 
}</span>
 
{{\Spoiler}}
 
 
 
 
 
 
 
<span style="font-size: 110%; font-weight: bold;">Zadanie J105</span><br/>
 
Niech liczby pierwsze <math>p, q</math> będą postaci <math>4 k + 1</math>, a&nbsp;liczba pierwsza <math>r</math>
 
będzie postaci <math>4 k + 3</math>. Pokazać, że
 
:*&nbsp;&nbsp;liczby <math>r, p r \,</math> i <math>\, r^2</math> nie rozkładają się na sumę dwóch kwadratów liczb całkowitych dodatnich
 
:*&nbsp;&nbsp;liczby <math>p</math>, <math>2 p</math>, <math>p^2 \,</math> i <math>\, p r^2</math> mają jeden rozkład na sumę dwóch kwadratów liczb całkowitych dodatnich
 
:*&nbsp;&nbsp;liczba <math>p q</math>, <math>p \neq q</math> ma dwa rozkłady na sumę dwóch kwadratów liczb całkowitych dodatnich
 
 
 
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Rozwiązanie|Hide=Ukryj rozwiązanie}}
 
 
 
'''Punkt 1.'''
 
 
 
Ponieważ liczby <math>r \,</math> i <math>\, p r</math> są postaci <math>4 k + 3</math>, to modulo <math>4</math> mamy
 
 
 
::<math>r, p r \equiv 3 \!\! \pmod{4}</math>
 
 
 
Suma <math>x^2 + y^2</math> musi być liczbą nieparzystą, zatem liczby <math>x, y</math> muszą mieć przeciwną parzystość i&nbsp;modulo <math>4</math> mamy
 
 
 
::<math>x^2 + y^2 \equiv 1 \!\! \pmod{4}</math>
 
 
 
Przypuśćmy, że
 
 
 
::<math>r^2 = x^2 + y^2</math>
 
 
 
gdzie <math>x, y \in \mathbb{Z}_+</math>. Liczby <math>x, y</math> muszą mieć przeciwną parzystość, zatem <math>x \neq y</math>. Z&nbsp;twierdzenia J22 wynika, że liczba <math>x^2 + y^2</math> musi mieć dzielnik pierwszy postaci <math>4 k + 1</math>, co w&nbsp;sposób oczywisty jest niemożliwe.
 
 
 
'''Punkt 2.'''
 
 
 
W przypadku liczby pierwszej <math>p</math> odpowiedzi udziela twierdzenie J103. Niech <math>p = x^2 + y^2</math>, mamy
 
 
 
::<math>2 p = (x + y)^2 + (x - y)^2</math>
 
 
 
::<math>p^2 = (x^2 - y^2)^2 + (2 x y)^2</math>
 
 
 
::<math>p r^2 = (r x)^2 + (r y)^2</math>
 
 
 
'''Punkt 3.'''
 
 
 
Niech <math>p = x^2 + y^2</math> i <math>q = a^2 + b^2</math>. Ze wzorów podanych w&nbsp;uwadze J101 mamy
 
 
 
::<math>p q = (a^2 + b^2) (x^2 + y^2) = (a x + b y)^2 + (a y - b x)^2</math>
 
 
 
:::::::::<math>\:\, = (a x - b y)^2 + (a y + b x)^2</math>
 
 
 
Co należało pokazać.<br/>
 
&#9633;
 
{{\Spoiler}}
 
 
 
 
 
 
 
 
 
 
 
== Twierdzenia o&nbsp;istnieniu liczb pierwszych kwadratowych i&nbsp;niekwadratowych modulo ==
 
 
 
<span style="font-size: 110%; font-weight: bold;">Zadanie J106</span><br/>
 
Niech <math>s = \pm 1</math>. Zbadać podzielność liczby <math>p - s a^2</math>
 
 
 
:* przez <math>4</math>, gdy <math>p = 4 k + r</math>, gdzie <math>r = 1, 3</math>
 
:* przez <math>8</math>, gdy <math>p = 8 k + r</math>, gdzie <math>r = 1, 3, 5, 7</math>
 
 
 
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Rozwiązanie|Hide=Ukryj rozwiązanie}}
 
Problem sprowadza się do uzyskania odpowiedzi, kiedy kongruencja
 
 
 
::<math>p - s a^2 \equiv 0 \pmod{2^n}</math>
 
 
 
gdzie <math>n = 2, 3</math>, ma rozwiązanie. Podstawiając, dostajemy
 
 
 
::<math>2^n k + r \equiv s a^2 \pmod{2^n}</math>
 
 
 
::<math>s a^2 \equiv r \pmod{2^n}</math>
 
 
 
::<math>a^2 \equiv s r \pmod{2^n}</math>
 
 
 
Z twierdzenia J55 wiemy, że aby powyższa kongruencja miała rozwiązanie, musi być <math>2^n \mid (s r - 1)</math>, co jest możliwe tylko, gdy
 
 
 
::<math>s =
 
\begin{cases}
 
\;\;\: 1 & \text{gdy } r = 1 \\
 
      - 1 & \text{gdy } r = 3 \\
 
\end{cases}</math>
 
 
 
dla <math>2^n = 4</math> i&nbsp;gdy
 
 
 
::<math>s =
 
\begin{cases}
 
\;\;\: 1 & \text{gdy } r = 1 \\
 
      - 1 & \text{gdy } r = 7 \\
 
\end{cases}</math>
 
 
 
dla <math>2^n = 8</math>. Dla <math>2^n = 8</math> i <math>r = 3, 5</math> rozpatrywana kongruencja nie ma rozwiązania.<br/>
 
&#9633;
 
{{\Spoiler}}
 
 
 
 
 
 
 
<span style="font-size: 110%; font-weight: bold;">Uwaga J107</span><br/>
 
Poniżej udowodnimy trzy twierdzenia dotyczące istnienia liczb pierwszych, które są liczbami kwadratowymi modulo <math>p</math>. Pomysł ujęcia problemu zaczerpnęliśmy z&nbsp;pracy Alexandru Gicy<ref name="Gica1"/>. Zadanie J106 należy traktować jako uzupełnienie do dowodu twierdzenia J108. Z&nbsp;zadania łatwo widzimy, że powiązanie liczby <math>s</math> z&nbsp;postacią liczby pierwszej <math>p</math> nie jest przypadkowe.
 
 
 
Zauważmy, że twierdzenia ograniczają się do liczb pierwszych <math>p</math>, ponieważ dla liczb złożonych nieparzystych <math>m > 0</math> wynik <math>\left( {\small\frac{q}{m}} \right)_{\small{\!\! J}} = 1</math> nie oznacza, że liczba pierwsza <math>q</math> jest liczbą kwadratową modulo <math>m</math>.
 
 
 
W tabeli przedstawiamy najmniejsze liczby pierwsze <math>q</math> postaci <math>4 k + 1</math> kwadratowe modulo <math>p</math>.
 
 
 
::{| class="wikitable plainlinks"  style="font-size: 90%; text-align: center; margin-right: auto;"
 
|-
 
! <math>\boldsymbol{p}</math>
 
| <math>3</math> || <math>5</math> || <math>7</math> || <math>11</math> || <math>13</math> || <math>17</math> || <math>19</math> || <math>23</math> || <math>29</math> || <math>31</math> || <math>37</math> || <math>41</math> || <math>43</math> || <math>47</math> || <math>53</math> || <math>59</math> || <math>61</math> || <math>67</math> || <math>71</math> || <math>73</math> || <math>79</math> || <math>83</math> || <math>89</math> || <math>97</math>
 
|-
 
! <math>\boldsymbol{q}</math>
 
| style="background-color: red" | <math>13</math> || style="background-color: red" | <math>29</math> || style="background-color: red" | <math>29</math> || <math>5</math> || style="background-color: red" | <math>17</math> || <math>13</math> || <math>5</math> || <math>13</math> || <math>5</math> || <math>5</math> || style="background-color: red" | <math>41</math> || <math>5</math> || <math>13</math> || <math>17</math> || <math>13</math> || <math>5</math> || <math>5</math> || <math>17</math> || <math>5</math> || <math>37</math> || <math>5</math> || <math>17</math> || <math>5</math> || <math>53</math>
 
|}
 
 
 
 
 
W kolejnej tabeli przedstawiamy najmniejsze liczby pierwsze <math>q</math> postaci <math>4 k + 3</math> kwadratowe modulo <math>p</math>.
 
 
 
::{| class="wikitable plainlinks"  style="font-size: 90%; text-align: center; margin-right: auto;"
 
|-
 
! <math>\boldsymbol{p}</math>
 
| <math>3</math> || <math>5</math> || <math>7</math> || <math>11</math> || <math>13</math> || <math>17</math> || <math>19</math> || <math>23</math> || <math>29</math> || <math>31</math> || <math>37</math> || <math>41</math> || <math>43</math> || <math>47</math> || <math>53</math> || <math>59</math> || <math>61</math> || <math>67</math> || <math>71</math> || <math>73</math> || <math>79</math> || <math>83</math> || <math>89</math> || <math>97</math>
 
|-
 
! <math>\boldsymbol{q}</math>
 
| style="background-color: red" | <math>7</math> || style="background-color: red" | <math>11</math> || style="background-color: red" | <math>11</math> || <math>3</math> || <math>3</math> || style="background-color: red" | <math>19</math> || <math>7</math> || <math>3</math> || <math>7</math> || <math>7</math> || <math>3</math> || <math>23</math> || <math>11</math> || <math>3</math> || <math>7</math> || <math>3</math> || <math>3</math> || <math>19</math> || <math>3</math> || <math>3</math> || <math>11</math> || <math>3</math> || <math>11</math> || <math>3</math>
 
|}
 
 
 
 
 
 
 
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J108</span><br/>
 
Jeżeli <math>p \geqslant 11</math> jest liczbą pierwszą i <math>p \neq 17</math>, to istnieje liczba pierwsza <math>q < p</math> postaci <math>4 k + 3</math> kwadratowa modulo <math>p</math>.
 
 
 
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 
Niech
 
::<math>s =
 
\begin{cases}
 
\;\;\: 1 & \text{gdy } \, p \, \text{ jest postaci } \, 4 k + 1 \\
 
      - 1 & \text{gdy } \, p \, \text{ jest postaci } \, 4 k + 3 \\
 
\end{cases}</math>
 
 
 
Dla ustalonych liczb <math>n</math> i <math>s</math> rozważmy liczbę <math>u(a) = {\small\frac{p - s a^2}{2^n}}</math> taką, że <math>3 \leqslant u (a) < p</math>. Jeżeli liczba ta jest postaci <math>4 k + 3</math>, to ma dzielnik pierwszy <math>q < p</math> postaci <math>4 k + 3</math> (zobacz C21). Zatem możemy napisać <math>u (a) = t q</math>, co oznacza, że
 
 
 
::<math>p - s a^2 = 2^n u (a) = 2^n t q</math>
 
 
 
Czyli
 
 
 
::<math>p \equiv s a^2 \pmod{q}</math>
 
 
 
i otrzymujemy
 
 
 
::<math>\left( {\small\frac{q}{p}} \right)_{\small{\!\! J}} = s \cdot \left( {\small\frac{p}{q}} \right)_{\small{\!\! J}} = s \cdot \left( {\small\frac{s a^2}{q}} \right)_{\small{\!\! J}} = s \cdot \left( {\small\frac{s}{q}} \right)_{\small{\!\! J}} \cdot \left( {\small\frac{a^2}{q}} \right)_{\small{\!\! J}} =s \cdot \left( {\small\frac{s}{q}} \right)_{\small{\!\! J}} = 1</math>
 
 
 
Zatem liczba <math>q < p</math> jest liczbą kwadratową modulo <math>p</math>.
 
 
 
Pomysł dowodu polega na wskazaniu kilku liczb <math>u(a_1), \ldots, u(a_r)</math> takich, że
 
 
 
::<math>3 \leqslant u(a_1) < \ldots < u(a_r) < p</math>
 
 
 
z których jedna musi być postaci <math>4 k + 3</math>.
 
 
 
'''Przypadek pierwszy:''' <math>\boldsymbol{p \equiv 3 \!\! \pmod{8}}</math>
 
 
 
Mamy <math>s = - 1</math> i&nbsp;przyjmujemy <math>n = 2</math>. Rozważmy liczby
 
 
 
::<math>3 \leqslant {\small\frac{p + 1}{4}} < {\small\frac{p + 9}{4}} < p</math>
 
 
 
Oszacowania są jednocześnie spełnione dla <math>p \geqslant 11</math>. Z&nbsp;założenia <math>p = 8 k + 3</math>, zatem rozpatrywane liczby to <math>\{ 2 k + 1, 2 k + 3 \}</math>. Ponieważ są to dwie kolejne liczby nieparzyste, to jedna z&nbsp;nich jest postaci <math>4 k + 3</math>.
 
 
 
'''Przypadek drugi:''' <math>\boldsymbol{p \equiv 5 \!\! \pmod{8}}</math>
 
 
 
Mamy <math>s = + 1</math> i&nbsp;przyjmujemy <math>n = 2</math>. Rozważmy liczby
 
 
 
::<math>3 \leqslant {\small\frac{p - 9}{4}} < {\small\frac{p - 1}{4}} < p</math>
 
 
 
Oszacowania są jednocześnie spełnione dla <math>p \geqslant 21</math>. Z&nbsp;założenia <math>p = 8 k + 5</math>, zatem rozpatrywane liczby to <math>\{ 2 k - 1, 2 k + 1 \}</math>. Ponieważ są to dwie kolejne liczby nieparzyste, to jedna z&nbsp;nich jest postaci <math>4 k + 3</math>.
 
 
 
'''Przypadek trzeci:''' <math>\boldsymbol{p \equiv 7 \!\! \pmod{8}}</math>
 
 
 
Mamy <math>s = - 1</math> i&nbsp;przyjmujemy <math>n = 3</math>. Rozważmy liczby
 
 
 
::<math>3 \leqslant {\small\frac{p + 1}{8}} < {\small\frac{p + 9}{8}} < {\small\frac{p + 25}{8}} < {\small\frac{p + 49}{8}} < p</math>
 
 
 
Oszacowania są jednocześnie spełnione dla <math>p \geqslant 23</math>. Z&nbsp;założenia <math>p = 8 k + 7</math>, zatem rozpatrywane liczby to <math>\{ k + 1, k + 2, k + 4, k + 7 \}</math>. Jeżeli <math>k \equiv r \!\! \pmod{4}</math>, to modulo <math>4</math> mamy zbiór <math>\{ r + 1, r + 2, r, r + 3 \}</math>. Zatem jedna z&nbsp;liczb w&nbsp;tym zbiorze jest postaci <math>4 k + 3</math>.
 
 
 
'''Przypadek czwarty:''' <math>\boldsymbol{p \equiv 1 \!\! \pmod{8}}</math>
 
 
 
Mamy <math>s = + 1</math> i&nbsp;przyjmujemy <math>n = 3</math>. Rozważmy liczby
 
 
 
::<math>3 \leqslant {\small\frac{p - 49}{8}} < {\small\frac{p - 25}{8}} < {\small\frac{p - 9}{8}} < {\small\frac{p - 1}{8}} < p</math>
 
 
 
Oszacowania są jednocześnie spełnione dla <math>p \geqslant 73</math>. Z&nbsp;założenia <math>p = 8 k + 1</math>, zatem rozpatrywane liczby to <math>\{ k - 6, k - 3, k - 1, k \}</math>. Jeżeli <math>k \equiv r \!\! \pmod{4}</math>, to modulo <math>4</math> mamy zbiór <math>\{ r + 2, r + 1, r + 3, r \}</math>. Zatem jedna z&nbsp;liczb w&nbsp;tym zbiorze jest postaci <math>4 k + 3</math>.
 
 
 
Pozostaje sprawdzić twierdzenie dla liczb pierwszych <math>p < 73</math>. Co kończy dowód.<br/>
 
&#9633;
 
{{\Spoiler}}
 
 
 
 
 
 
 
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J109</span><br/>
 
Jeżeli <math>p \geqslant 11</math> jest liczbą pierwszą postaci <math>8 k + 1</math> lub <math>8 k + 3</math>, to istnieje liczba pierwsza <math>q < p</math> postaci <math>4 k + 1</math> kwadratowa modulo <math>p</math>.
 
 
 
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 
W przypadku, gdy liczba pierwsza <math>p</math> jest postaci <math>8 k + 1</math> lub <math>8 k + 3</math>, to istnieją takie liczby całkowite dodatnie <math>x, y</math>, że <math>p = x^2 + 2 y^2</math> (zobacz J103). Ponieważ z&nbsp;założenia <math>p \geqslant 11</math>, to musi być <math>x \neq y</math>. Z&nbsp;twierdzenia J22 wynika, że liczba <math>x^2 + y^2</math> ma dzielnik pierwszy <math>q</math> postaci <math>4 k + 1</math>. Łatwo widzimy, że <math>q \leqslant x^2 + y^2 < x^2 + 2 y^2 = p</math>.
 
 
 
Modulo <math>q</math> możemy napisać
 
 
 
::<math>x^2 + y^2 \equiv 0 \!\! \pmod{q}</math>
 
 
 
Liczba pierwsza <math>q < p</math> nie może dzielić <math>y</math>, bo mielibyśmy <math>q \mid x</math>, czyli <math>q \mid p</math>, co jest niemożliwe. Rozpatrując równość <math>p = x^2 + 2 y^2</math> modulo <math>q</math>, dostajemy
 
 
 
::<math>p \equiv y^2 \!\! \pmod{q}</math>
 
 
 
Wynika stąd natychmiast (zobacz J42 p.9)
 
 
 
::<math>\left( {\small\frac{q}{p}} \right)_{\small{\!\! J}} = \left( {\small\frac{p}{q}} \right)_{\small{\!\! J}} = \left( {\small\frac{y^2}{q}} \right)_{\small{\!\! J}} = 1</math>
 
 
 
Co kończy dowód.<br/>
 
&#9633;
 
{{\Spoiler}}
 
 
 
 
 
 
 
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J110</span><br/>
 
Jeżeli <math>p \geqslant 19</math> jest liczbą pierwszą postaci <math>12 k + 7</math>, to istnieje liczba pierwsza <math>q < p</math> postaci <math>4 k + 1</math> kwadratowa modulo <math>p</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 <math>p \equiv 1 \!\! \pmod{6}</math>, zatem istnieją takie liczby <math>x, y \in \mathbb{Z}_+</math>, że <math>p = x^2 + 3 y^2</math> (zobacz J103).
 
Liczby <math>x, y</math> muszą mieć przeciwną parzystość i&nbsp;być względnie pierwsze. Gdyby liczba <math>x</math> była nieparzysta, to modulo <math>4</math> mielibyśmy
 
 
 
::<math>1 + 3 \cdot 0 \equiv 3 \!\! \pmod{4}</math>
 
 
 
Co jest niemożliwe. Zatem <math>x = 2 k</math>, a&nbsp;liczba <math>y</math> musi być nieparzysta. Otrzymujemy
 
 
 
::<math>p = 4 k^2 + 3 y^2 = 4 (k^2 + y^2) - y^2</math>
 
 
 
Ponieważ <math>p</math> jest liczbą pierwszą, to jedynie w&nbsp;przypadku gdy <math>k = y = 1</math> możliwa jest sytuacja, że <math>k = y</math>. Mielibyśmy wtedy <math>p = 7</math>, ale z&nbsp;założenia musi być <math>p \geqslant 19</math>. Wynika stąd, że <math>k \neq y</math>, zatem liczba <math>k^2 + y^2</math> ma dzielnik pierwszy <math>q</math> postaci <math>4 k + 1</math> (zobacz J22). Oczywiście <math>q \leqslant k^2 + y^2 < 4 k^2 + 3 y^2 = p</math>.
 
 
 
Modulo <math>q</math> możemy napisać
 
 
 
::<math>k^2 + y^2 \equiv 0 \!\! \pmod{q}</math>
 
 
 
Liczba pierwsza <math>q</math> nie może dzielić <math>y</math>, bo mielibyśmy <math>q \mid k</math>, czyli <math>q \mid p</math>, co jest niemożliwe. Rozpatrując równość <math>p = 4 (k^2 + y^2) - y^2</math> modulo <math>q</math>, dostajemy
 
 
 
::<math>p \equiv - y^2 \!\! \pmod{q}</math>
 
 
 
Wynika stąd natychmiast (zobacz J42 p.9 i&nbsp;p.6)
 
 
 
::<math>\left( {\small\frac{q}{p}} \right)_{\small{\!\! J}}
 
= \left( {\small\frac{p}{q}} \right)_{\small{\!\! J}}
 
= \left( {\small\frac{- y^2}{q}} \right)_{\small{\!\! J}}
 
= \left( {\small\frac{- 1}{q}} \right)_{\small{\!\! J}} \cdot \left( {\small\frac{y^2}{q}} \right)_{\small{\!\! J}}
 
= \left( {\small\frac{- 1}{q}} \right)_{\small{\!\! J}} = 1</math>
 
 
 
Co kończy dowód.<br/>
 
&#9633;
 
{{\Spoiler}}
 
 
 
 
 
 
 
Twierdzenia J109 i&nbsp;J110 można uogólnić na wszystkie liczby pierwsze.<ref name="Gica1"/><br/>
 
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J111*</span><br/>
 
Jeżeli <math>p \geqslant 11</math> jest liczbą pierwszą i <math>p \neq 13, 37</math>, to istnieje liczba pierwsza <math>q < p</math> postaci <math>4 k + 1</math> kwadratowa modulo <math>p</math>.
 
 
 
 
 
 
 
<span style="font-size: 110%; font-weight: bold;">Uwaga J112</span><br/>
 
W tabeli przedstawiamy najmniejsze liczby pierwsze <math>q</math> postaci <math>4 k + 1</math> niekwadratowe modulo <math>m</math>.
 
 
 
:{| class="wikitable plainlinks"  style="font-size: 80%; text-align: center; margin-right: auto;"
 
|-
 
! <math>\boldsymbol{m}</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>21</math> || <math>22</math> || <math>23</math> || <math>24</math> || <math>25</math> || <math>26</math> || <math>27</math> || <math>28</math> || <math>29</math> || <math>30</math> || <math>31</math> || <math>32</math> || <math>33</math> || <math>34</math> || <math>35</math> || <math>36</math> || <math>37</math> || <math>38</math> || <math>39</math> || <math>40</math>
 
|-
 
! <math>\boldsymbol{q}</math>
 
| style="background-color: red" | <math>-</math> || style="background-color: red" | <math>5</math> || style="background-color: red" | <math>-</math> || style="background-color: red" | <math>13</math> || <math>5</math> || <math>5</math> || <math>5</math> || <math>5</math> || style="background-color: red" | <math>13</math> || style="background-color: red" | <math>13</math> || <math>5</math> || <math>5</math> || <math>5</math> || <math>13</math> || <math>5</math> || <math>5</math> || <math>5</math> || <math>13</math> || <math>13</math> || <math>5</math> || <math>13</math> || <math>5</math> || <math>5</math> || <math>13</math> || <math>5</math> || <math>5</math> || <math>5</math> || <math>17</math> || <math>13</math> || <math>13</math> || <math>5</math> || <math>5</math> || <math>5</math> || <math>13</math> || <math>5</math> || <math>5</math> || <math>13</math> || <math>5</math> || <math>13</math>
 
|}
 
 
 
 
 
W kolejnej tabeli przedstawiamy najmniejsze liczby pierwsze <math>q</math> postaci <math>4 k + 3</math> niekwadratowe modulo <math>m</math>.
 
 
 
:{| class="wikitable plainlinks"  style="font-size: 80%; text-align: center; margin-right: auto;"
 
|-
 
! <math>\boldsymbol{m}</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>21</math> || <math>22</math> || <math>23</math> || <math>24</math> || <math>25</math> || <math>26</math> || <math>27</math> || <math>28</math> || <math>29</math> || <math>30</math> || <math>31</math> || <math>32</math> || <math>33</math> || <math>34</math> || <math>35</math> || <math>36</math> || <math>37</math> || <math>38</math> || <math>39</math> || <math>40</math>
 
|-
 
! <math>\boldsymbol{q}</math>
 
| style="background-color: red" | <math>-</math> || style="background-color: red" | <math>11</math> || <math>3</math> || <math>3</math> || style="background-color: red" | <math>11</math> || <math>3</math> || <math>3</math> || style="background-color: red" | <math>11</math> || <math>3</math> || <math>7</math> || <math>7</math> || <math>7</math> || <math>3</math> || <math>7</math> || <math>3</math> || <math>3</math> || <math>11</math> || <math>3</math> || <math>3</math> || <math>11</math> || <math>7</math> || <math>7</math> || <math>7</math> || <math>3</math> || <math>7</math> || <math>11</math> || <math>3</math> || <math>3</math> || <math>7</math> || <math>3</math> || <math>3</math> || <math>7</math> || <math>3</math> || <math>3</math> || <math>7</math> || <math>19</math> || <math>3</math> || <math>7</math> || <math>3</math>
 
|}
 
 
 
 
 
 
 
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J113</span><br/>
 
Jeżeli <math>m \geqslant 7</math> jest liczbą całkowitą postaci <math>4 k + 3</math>, to istnieje liczba pierwsza <math>q < m</math> postaci <math>4 k + 3</math> niekwadratowa modulo <math>m</math>.
 
 
 
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 
Ponieważ liczba <math>m - 4 \geqslant 3</math> jest postaci <math>4 k + 3</math>, to ma dzielnik pierwszy <math>q < m</math> postaci <math>4 k + 3</math> (zobacz C21). Czyli <math>m - 4 = k q</math> i&nbsp;z&nbsp;twierdzenia J42 p.9 dostajemy
 
 
 
::<math>\left( {\small\frac{q}{m}} \right)_{\small{\!\! J}} =
 
- \left( {\small\frac{m}{q}} \right)_{\small{\!\! J}} =
 
- \left( {\small\frac{k q + 4}{q}} \right)_{\small{\!\! J}} =
 
- \left( {\small\frac{4}{q}} \right)_{\small{\!\! J}} = - 1</math>
 
 
 
Zatem <math>q</math> jest liczbą niekwadratową modulo <math>m</math>. Co należało pokazać.<br/>
 
&#9633;
 
{{\Spoiler}}
 
 
 
 
 
 
 
Można też pokazać, że<ref name="Pollack2"/><br/>
 
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J114*</span><br/>
 
'''A.''' Jeżeli <math>p \geqslant 13</math> jest liczbą pierwszą, to istnieje liczba pierwsza <math>q < p</math> postaci <math>4 k + 1</math> niekwadratowa modulo <math>p</math>.
 
 
 
'''B.''' Jeżeli <math>p \geqslant 5</math> jest liczbą pierwszą, to istnieje liczba pierwsza <math>q < p</math> postaci <math>4 k + 3</math> niekwadratowa modulo <math>p</math>.
 
 
 
 
 
 
 
Zauważmy, że twierdzenie J114 można łatwo uogólnić na liczby całkowite dodatnie.<br/>
 
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J115</span><br/>
 
'''A.''' Jeżeli <math>m \geqslant 6</math> jest liczbą całkowitą i <math>m \neq 10 , 11</math>, to istnieje liczba pierwsza <math>q < m</math> postaci <math>4 k + 1</math> niekwadratowa modulo <math>m</math>.
 
 
 
'''B.''' Jeżeli <math>m \geqslant 4</math> jest liczbą całkowitą i <math>m \neq 6 , 9</math>, to istnieje liczba pierwsza <math>q < m</math> postaci <math>4 k + 3</math> niekwadratowa modulo <math>m</math>.
 
 
 
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 
 
 
'''Punkt B'''
 
 
 
Rozważmy liczby <math>m</math> postaci <math>m = 2^a 3^b</math>.
 
 
 
Jeżeli <math>3 \mid m</math>, to <math>11</math> jest liczbą niekwadratową modulo <math>m</math>, bo <math>\left( {\small\frac{11}{3}} \right)_{\small{\!\! J}} = - 1</math> (zobacz J56 i&nbsp;J88).
 
 
 
Jeżeli <math>3 \nmid m</math>, ale <math>8 \mid m</math>, to <math>8 \nmid (11 - 1)</math>, zatem liczba <math>11</math> jest liczbą niekwadratową modulo <math>m</math> (zobacz J56).
 
 
 
Jeżeli <math>3 \nmid m</math> i <math>8 \nmid m</math>, ale <math>4 \mid m</math>, to <math>4 \nmid (11 - 1)</math>, zatem liczba <math>11</math> jest liczbą niekwadratową modulo <math>m</math> (zobacz J56).
 
 
 
Jeżeli <math>m = 2</math>, to łatwo zauważamy, że nie istnieją liczby niekwadratowe modulo <math>2</math>.
 
 
 
 
 
Zbierając:
 
 
 
:* jeśli liczba <math>m \geqslant 12</math> nie ma dzielnika pierwszego <math>p \geqslant 5</math>, czyli jest postaci <math>m = 2^a 3^b</math>, to liczba pierwsza <math>q = 11</math> jest mniejsza od <math>m</math>, jest postaci <math>4 k + 3</math> i&nbsp;jest liczbą niekwadratową modulo <math>m</math>.
 
:* jeśli liczba <math>m \geqslant 12</math> ma dzielnik pierwszy <math>p \geqslant 5</math>, to istnieje liczba pierwsza <math>q < p \leqslant m</math> taka, że <math>q</math> jest postaci <math>4 k + 3</math> i&nbsp;jest liczbą niekwadratową modulo <math>m</math> (zobacz J114 i&nbsp;J88).
 
 
 
 
 
Pozostaje wypisać dla liczb <math>3 \leqslant m \leqslant 11</math> najmniejsze liczby niekwadratowe, które są liczbami pierwszymi postaci <math>4 k + 3</math>.
 
 
 
<span style="font-size: 90%; color:black;">'''for'''(m = 3, 15, '''forprimestep'''(q = 3, 100, 4, '''if'''( isQR(q,m) == -1, '''print'''(m, "  ", q); '''break'''() )))</span>
 
 
 
::{| class="wikitable plainlinks"  style="font-size: 90%; text-align: center; margin-right: auto;"
 
|-
 
! <math>\boldsymbol{m}</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>\boldsymbol{q}</math>
 
| style="background-color: red" | <math>11</math> || <math>3</math> || <math>3</math> || style="background-color: red" | <math>11</math> || <math>3</math> || <math>3</math> || style="background-color: red" | <math>11</math> || <math>3</math> || <math>7</math> || <math>7</math> || <math>7</math> || <math>3</math> || <math>7</math>
 
|}
 
 
 
Widzimy, że twierdzenie jest prawdziwe dla <math>m \geqslant 4</math>, o ile <math>m \neq 6 , 9</math>.
 
 
 
'''Punkt A'''
 
 
 
Rozważmy liczby <math>m</math> postaci <math>m = 2^a 3^b 5^c 7^d 11^e</math>.
 
 
 
Jeżeli jedna z&nbsp;liczb <math>3, 5, 7, 11</math> dzieli <math>m</math>, to <math>17</math> jest liczbą niekwadratową modulo <math>m</math>, bo
 
<math>\left( {\small\frac{17}{3}} \right)_{\small{\!\! J}}
 
= \left( {\small\frac{17}{5}} \right)_{\small{\!\! J}}
 
= \left( {\small\frac{17}{7}} \right)_{\small{\!\! J}}
 
= \left( {\small\frac{17}{11}} \right)_{\small{\!\! J}}
 
= - 1</math>.
 
 
 
Jeżeli żadna z&nbsp;liczb <math>3, 5, 7, 11</math> nie dzieli <math>m</math>, ale <math>8 \mid m</math>, to <math>8 \nmid (5 - 1)</math>, zatem liczba <math>5</math> jest liczbą niekwadratową modulo <math>m</math>.
 
 
 
Jeżeli żadna z&nbsp;liczb <math>3, 5, 7, 11</math> nie dzieli <math>m</math> i <math>8 \nmid m</math>, ale <math>4 \mid m</math>, to nie istnieją liczby pierwsze postaci <math>4 k + 1</math> niekwadratowe modulo <math>m</math>, bo <math>4 \mid [(4 k + 1) - 1]</math>
 
 
 
Jeżeli <math>m = 2</math>, to łatwo zauważamy, że nie istnieją liczby niekwadratowe modulo <math>2</math>.
 
 
 
Zbierając:
 
 
 
:* jeśli liczba <math>m \geqslant 18</math> nie ma dzielnika pierwszego <math>p \geqslant 13</math>, czyli jest postaci <math>m = 2^a 3^b 5^c 7^d 11^e</math>, to liczba pierwsza <math>q = 5</math> lub <math>q = 17</math> jest mniejsza od <math>m</math>, jest postaci <math>4 k + 1</math> i&nbsp;jest liczbą niekwadratową modulo <math>m</math>.
 
:* jeśli liczba <math>m \geqslant 18</math> ma dzielnik pierwszy <math>p \geqslant 13</math>, to istnieje liczba pierwsza <math>q < p \leqslant m</math> taka, że <math>q</math> jest postaci <math>4 k + 1</math> i&nbsp;jest liczbą niekwadratową modulo <math>m</math> (zobacz J114 i&nbsp;J88).
 
 
 
Pozostaje wypisać dla liczb <math>3 \leqslant m \leqslant 17</math> najmniejsze liczby niekwadratowe, które są liczbami pierwszymi postaci <math>4 k + 1</math>.
 
 
 
<span style="font-size: 90%; color:black;">'''for'''(m = 3, 20, '''forprimestep'''(q = 1, 100, 4, '''if'''( isQR(q,m) == -1, '''print'''(m, "  ", q); '''break'''() )))</span>
 
 
 
::{| class="wikitable plainlinks"  style="font-size: 90%; text-align: center; margin-right: auto;"
 
|-
 
! <math>\boldsymbol{m}</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{q}</math>
 
| style="background-color: red" | <math>5</math> || style="background-color: red" | <math>-</math> || style="background-color: red" | <math>13</math> || <math>5</math> || <math>5</math> || <math>5</math> || <math>5</math> || style="background-color: red" | <math>13</math> || style="background-color: red" | <math>13</math> || <math>5</math> || <math>5</math> || <math>5</math> || <math>13</math> || <math>5</math> || <math>5</math> || <math>5</math> || <math>13</math> || <math>13</math>
 
|}
 
 
 
Widzimy, że twierdzenie jest prawdziwe dla <math>m \geqslant 6</math>, o ile <math>m \neq 10 , 11</math>.<br/>
 
&#9633;
 
{{\Spoiler}}
 
 
 
 
 
 
 
<span style="font-size: 110%; font-weight: bold;">Twierdzenie J116</span><br/>
 
Jeżeli <math>p \geqslant 5</math> jest liczbą pierwszą, to istnieje liczba pierwsza nieparzysta <math>q < p</math> taka, że <math>\left( {\small\frac{p}{q}} \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}}
 
Łatwo sprawdzamy, że
 
 
 
::<math>\left( {\small\frac{5}{3}} \right)_{\small{\!\! J}} = \left( {\small\frac{7}{5}} \right)_{\small{\!\! J}} = \left( {\small\frac{11}{3}} \right)_{\small{\!\! J}} = - 1</math>
 
 
 
(zobacz J42&nbsp;p.7). Zatem dowód wystarczy przeprowadzić dla <math>p \geqslant 13</math>.
 
 
 
'''A. Liczba pierwsza''' <math>\, \boldsymbol{p} \,</math> '''jest postaci''' <math>\, \boldsymbol{4 k + 1}</math>
 
 
 
Niech liczba <math>q</math> będzie najmniejszą '''nieparzystą''' liczbą niekwadratową modulo <math>p</math>. Z&nbsp;twierdzenia J72 wiemy, że dla <math>p \geqslant 5</math> liczba <math>q</math> jest liczbą pierwszą i&nbsp;jest mniejsza od <math>p</math>. Ponieważ <math>p \equiv 1 \!\! \pmod{4}</math>, to z&nbsp;twierdzenia J42&nbsp;p.9 otrzymujemy natychmiast
 
 
 
<div style="margin-top: 1em; margin-bottom: 1em;">
 
::<math>\left( {\small\frac{p}{q}} \right)_{\small{\!\! J}} = \left( {\small\frac{q}{p}} \right)_{\small{\!\! J}} = - 1</math>
 
</div>
 
 
 
'''B. Liczba pierwsza''' <math>\, \boldsymbol{p} \,</math> '''jest postaci''' <math>\, \boldsymbol{4 k + 3}</math>
 
 
 
Z twierdzenia J108 wynika, że dla każdej liczby pierwszej <math>p \geqslant 11</math> postaci <math>4 k + 3</math> istnieje liczba pierwsza <math>q < p</math> taka, że <math>q</math> jest postaci <math>4 k + 3</math> i&nbsp;jest liczbą kwadratową modulo <math>p</math>. Ponieważ <math>p \equiv q \equiv 3 \!\! \pmod{4}</math>, to z&nbsp;twierdzenia J42 p.9 otrzymujemy natychmiast
 
 
 
<div style="margin-top: 1em; margin-bottom: 1em;">
 
::<math>\left( {\small\frac{p}{q}} \right)_{\small{\!\! J}} = - \left( {\small\frac{q}{p}} \right)_{\small{\!\! J}} = - 1</math>
 
</div>
 
 
 
Co kończy dowód.<br/>
 
&#9633;
 
{{\Spoiler}}
 
 
 
 
 
 
 
<span style="font-size: 110%; font-weight: bold;">Zadanie J117</span><br/>
 
Udowodnić twierdzenie J116 w&nbsp;przypadku, gdy liczba pierwsza <math>p \geqslant 19</math> jest postaci <math>4 k + 3</math>, nie korzystając z&nbsp;twierdzenia J108.
 
 
 
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Rozwiązanie|Hide=Ukryj rozwiązanie}}
 
Z założenia <math>p = 4 k + 3</math>. Liczba <math>k</math> może być postaci <math>k = 3 j</math>, <math>k = 3 j + 1</math> i <math>k = 3 j + 2</math>. Odpowiada to liczbom pierwszym postaci <math>p = 12 j + 3</math>, <math>p = 12 j + 7</math> i <math>p = 12 j + 11</math>.
 
 
 
Ponieważ nie ma liczb pierwszych <math>p \geqslant 19</math> i&nbsp;będących postaci <math>p = 12 j + 3</math>, to pozostaje rozważyć przypadki <math>p = 12 j + 7</math> i <math>p = 12 j + 11</math>.
 
 
 
'''A. Liczba pierwsza''' <math>\, \boldsymbol{p} \,</math> '''jest postaci''' <math>\, \boldsymbol{12 j + 11}</math>
 
 
 
Wiemy, że w&nbsp;tym przypadku <math>\left( {\small\frac{3}{p}} \right)_{\small{\!\! J}} = + 1</math> (zobacz J47). Mamy
 
 
 
<div style="margin-top: 1em; margin-bottom: 1em;">
 
::<math>\left( {\small\frac{p}{3}} \right)_{\small{\!\! J}} = - \left( {\small\frac{3}{p}} \right)_{\small{\!\! J}} = - 1</math>
 
</div>
 
 
 
Czyli wystarczy przyjąć <math>q = 3</math>.
 
 
 
'''B. Liczba pierwsza''' <math>\, \boldsymbol{p} \,</math> '''jest postaci''' <math>\, \boldsymbol{12 j + 7}</math>
 
 
 
Wiemy, że w&nbsp;tym przypadku <math>\left( {\small\frac{- 1}{p}} \right)_{\small{\!\! J}} = \left( {\small\frac{3}{p}} \right)_{\small{\!\! J}} = - 1</math> (zobacz J42&nbsp;p.6 oraz J47). Otrzymujemy
 
 
 
<div style="margin-top: 1em; margin-bottom: 1em;">
 
::<math>\left( {\small\frac{p}{p - 12}} \right)_{\small{\!\! J}} = - \left( {\small\frac{p - 12}{p}} \right)_{\small{\!\! J}} = - \left( {\small\frac{- 12}{p}} \right)_{\small{\!\! J}} = \left[ - \left( {\small\frac{- 1}{p}} \right)_{\small{\!\! J}} \right] \cdot \left( {\small\frac{2^2}{p}} \right)_{\small{\!\! J}} \cdot \left( {\small\frac{3}{p}} \right)_{\small{\!\! J}} = \left( {\small\frac{3}{p}} \right)_{\small{\!\! J}} = -1</math>
 
</div>
 
  
Ponieważ liczba <math>p - 12 \geqslant 7</math> jest nieparzysta, to musi istnieć nieparzysty dzielnik pierwszy <math>q < p</math> liczby <math>p - 12</math> taki, że <math>\left( {\small\frac{p}{q}} \right)_{\small{\!\! J}} = - 1</math>. W&nbsp;przeciwnym razie z&nbsp;twierdzenia J42&nbsp;p.4 mielibyśmy <math>\left( {\small\frac{p}{p - 12}} \right)_{\small{\!\! J}} = 1</math>. Co kończy dowód.<br/>
+
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>.
&#9633;
 
{{\Spoiler}}
 
  
  
Linia 3598: Linia 2091:
 
<references>
 
<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="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="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>
 
 
 
<ref name="Trevino2">Kevin J. McGown and Enrique Treviño, ''The least quadratic non-residue'', Mexican Mathematicians in the World (2021)</ref>
 
 
 
<ref name="Erdos1">Paul Erdős, ''Számelméleti megjegyzések I'', Afar. Lapok, v. 12 (1961)</ref>
 
 
 
<ref name="Pollack1">Paul Pollack, ''The average least quadratic nonresidue modulo <math>m</math> and other variations on a&nbsp;theme of Erdős'', Journal of Number Theory, Vol. 132 (2012), No. 6, pp. 1185-1202.</ref>
 
  
<ref name="InfiniteDescent1">Wikipedia, ''Proof by infinite descent'', ([https://en.wikipedia.org/wiki/Proof_by_infinite_descent Wiki-en])</ref>
+
<ref name="Arnault1">François Arnault, ''The Rabin-Monier Theorem for Lucas Pseudoprimes'', Mathematics of Computation Vol. 66, No. 218 (1997)</ref>
  
<ref name="Bussey1">W. H. Bussey, ''Fermat's Method of Infinite Descent'', The American Mathematical Monthly, Vol. 25, No. 8 (1918)</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="HardyWright1">G. H. Hardy and Edward M. Wright, ''An Introduction to the Theory of Numbers'', New York: Oxford University Press, 5th Edition, zobacz dowód Twierdzenia 366 w&nbsp;sekcji 20.4 na stronie 301.</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="Gica1">Alexandru Gica, ''Quadratic Residues of Certain Types'', Rocky Mountain J. Math. 36 (2006), no. 6, 1867-1871.</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="Pollack2">Paul Pollack, ''The least prime quadratic nonresidue in a&nbsp;prescribed residue class mod 4'', Journal of Number Theory 187 (2018), 403-414</ref>
+
<ref name="BPSW2">MathWorld, ''Baillie-PSW Primality Test'', ([https://mathworld.wolfram.com/Baillie-PSWPrimalityTest.html LINK])</ref>
  
 
</references>
 
</references>

Wersja z 17:27, 20 maj 2023

11.01.2023



Ciągi Lucasa

Definicja L1
Niech [math]\displaystyle{ P, Q \in \mathbb{Z} \setminus \{0\} }[/math] oraz [math]\displaystyle{ D = P^2 - 4 Q \neq 0 }[/math]. Ciągi Lucasa [math]\displaystyle{ U_n = U_n (P, Q) }[/math] i [math]\displaystyle{ V_n = V_n (P, Q) }[/math] definiujemy następująco

[math]\displaystyle{ U_n = {\small\frac{\alpha^n - \beta^n}{\alpha - \beta}} = {\small\frac{\alpha^n - \beta^n}{\sqrt{D}}} }[/math]
[math]\displaystyle{ V_n = \alpha^n + \beta^n }[/math]

gdzie liczby

[math]\displaystyle{ \alpha = {\small\frac{P + \sqrt{D}}{2}} }[/math]
[math]\displaystyle{ \beta = {\small\frac{P - \sqrt{D}}{2}} }[/math]

są pierwiastkami równania [math]\displaystyle{ x^2 - P x + Q = 0 }[/math].


Uwaga L2
Zauważmy, że:

[math]\displaystyle{ P = \alpha + \beta }[/math]
[math]\displaystyle{ Q = \alpha \beta }[/math]
[math]\displaystyle{ \sqrt{D} = \alpha - \beta }[/math]
[math]\displaystyle{ U_0 = 0 }[/math], [math]\displaystyle{ U_1 = 1 }[/math], [math]\displaystyle{ V_0 = 2 }[/math] i [math]\displaystyle{ V_1 = P }[/math]


Warunek [math]\displaystyle{ P^2 - 4 Q \neq 0 }[/math] wyklucza następujące pary [math]\displaystyle{ (P, Q) }[/math]

[math]\displaystyle{ (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]


Uwaga L3
Oczywiście liczby [math]\displaystyle{ \alpha }[/math] i [math]\displaystyle{ \beta }[/math] są również pierwiastkami równania

[math]\displaystyle{ x^{n + 2} - P x^{n + 1} + Q x^n = 0 }[/math]

Wynika stąd, że ciągi [math]\displaystyle{ (\alpha^n) }[/math] i [math]\displaystyle{ (\beta^n) }[/math] spełniają równania rekurencyjne

[math]\displaystyle{ \alpha^{n + 2} = P \alpha^{n + 1} - Q \alpha^n }[/math]
[math]\displaystyle{ \beta^{n + 2} = P \beta^{n + 1} - Q \beta^n }[/math]

Ciągi Lucasa [math]\displaystyle{ (U_n) }[/math] i [math]\displaystyle{ (V_n) }[/math] spełniają identyczne równania rekurencyjne jak ciągi [math]\displaystyle{ (\alpha^n) }[/math] i [math]\displaystyle{ (\beta^n) }[/math]. Istotnie, odejmując i dodając stronami wypisane powyżej równania, otrzymujemy

[math]\displaystyle{ U_{n + 2} = P U_{n + 1} - Q U_n }[/math]
[math]\displaystyle{ V_{n + 2} = P V_{n + 1} - Q V_n }[/math]

Dlatego możemy zdefiniować ciągi Lucasa [math]\displaystyle{ (U_n) }[/math] i [math]\displaystyle{ (V_n) }[/math] w sposób równoważny


Definicja L4
Niech [math]\displaystyle{ P, Q \in \mathbb{Z} \setminus \{0\} }[/math] oraz [math]\displaystyle{ D = P^2 - 4 Q \neq 0 }[/math]. Ciągi Lucasa [math]\displaystyle{ (U_n) }[/math] i [math]\displaystyle{ (V_n) }[/math] określone są następującymi wzorami rekurencyjnymi

[math]\displaystyle{ U_0 = 0 }[/math], [math]\displaystyle{ U_1 = 1 }[/math], [math]\displaystyle{ U_n = P U_{n - 1} - Q U_{n - 2} }[/math]
[math]\displaystyle{ V_0 = 2 }[/math], [math]\displaystyle{ V_1 = P }[/math], [math]\displaystyle{ V_n = P V_{n - 1} - Q V_{n - 2} }[/math]


Przykład L5
Początkowe wyrazy ciągów Lucasa


Uwaga L6
W PARI/GP możemy napisać prosty kod, który pozwoli obliczyć wartości wyrazów [math]\displaystyle{ U_n (P, Q) }[/math] i [math]\displaystyle{ V_n (P, Q) }[/math]

LucasU(n, P, Q) = if( n == 0, 0, if( n == 1, 1, P*LucasU(n-1, P, Q) - Q*LucasU(n-2, P, Q) ) )
LucasV(n, P, Q) = if( n == 0, 2, if( n == 1, P, P*LucasV(n-1, P, Q) - Q*LucasV(n-2, P, Q) ) )


Twierdzenie L7
Niech [math]\displaystyle{ D = P^2 - 4 Q }[/math]. Wyrazy ciągów Lucasa można przedstawić w postaci sumy

[math]\displaystyle{ 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]\displaystyle{ 2^{n - 1} V_n = \sum_{k = 0}^{\lfloor n / 2 \rfloor} \binom{n}{2 k} P^{n - 2 k} D^k }[/math]
Dowód

Oznaczmy [math]\displaystyle{ \delta = \sqrt{D} }[/math], zatem [math]\displaystyle{ 2 \alpha = P + \delta }[/math] i [math]\displaystyle{ 2 \beta = P - \delta }[/math]. Ze wzoru dwumianowego, mamy

[math]\displaystyle{ 2^n \alpha^n = (P + \delta)^n = \sum_{j = 0}^{n} \binom{n}{j} P^{n - j} \delta^j }[/math]
[math]\displaystyle{ 2^n \beta^n = (P - \delta)^n = \sum_{j = 0}^{n} \binom{n}{j} P^{n - j} (- \delta)^j }[/math]

Obliczając sumę powyższych wzorów, otrzymujemy

[math]\displaystyle{ 2^n (\alpha^n + \beta^n) = \sum_{j = 0}^{n} \binom{n}{j} P^{n - j} (\delta^j + (- \delta)^j) }[/math]
[math]\displaystyle{ \quad \: = \sum_{k = 0}^{\lfloor n / 2 \rfloor} \binom{n}{2 k} P^{n - 2 k} \cdot 2 \delta^{2 k} }[/math]
[math]\displaystyle{ \quad \: = 2 \sum_{k = 0}^{\lfloor n / 2 \rfloor} \binom{n}{2 k} P^{n - 2 k} D^k }[/math]

gdzie [math]\displaystyle{ j = 2 k }[/math] i sumowanie przebiega od [math]\displaystyle{ k = 0 }[/math] do [math]\displaystyle{ k = \lfloor n / 2 \rfloor }[/math]

Zatem

[math]\displaystyle{ 2^{n - 1} V_n = \sum_{k = 0}^{\lfloor n / 2 \rfloor} \binom{n}{2 k} P^{n - 2 k} D^k }[/math]


Obliczając różnicę tych wzorów, mamy

[math]\displaystyle{ 2^n (\alpha^n - \beta^n) = \sum_{j = 0}^{n} \binom{n}{j} P^{n - j} (\delta^j - (- \delta)^j) }[/math]
[math]\displaystyle{ \quad \: = \sum_{k = 0}^{\lfloor (n - 1) / 2 \rfloor} \binom{n}{2 k + 1} P^{n - 2 k - 1} \cdot 2 \delta^{2 k + 1} }[/math]
[math]\displaystyle{ \quad \: = 2 \delta \sum_{k = 0}^{\lfloor (n - 1) / 2 \rfloor} \binom{n}{2 k + 1} P^{n - 2 k - 1} D^k }[/math]

gdzie [math]\displaystyle{ j = 2 k + 1 }[/math] i sumowanie przebiega od [math]\displaystyle{ k = 0 }[/math] do [math]\displaystyle{ k = \lfloor (n - 1) / 2 \rfloor }[/math]


Zatem

[math]\displaystyle{ 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]

Co należało pokazać.


Uwaga L8
Korzystając z twierdzenia L7, możemy napisać proste funkcje do znajdowania postaci kolejnych wyrazów [math]\displaystyle{ U_n (P, Q) }[/math] i [math]\displaystyle{ V_n (P, Q) }[/math]

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)
V(n) = 2^(1 - n)*sum(k=0, floor(n/2), binomial(n, 2*k) * P^(n-2*k) * (P^2-4*Q)^k)


Często możemy spotkać założenie [math]\displaystyle{ P \geqslant 1 }[/math]. Poniższe twierdzenie wyjaśnia, dlaczego tak jest.

Twierdzenie L9
Jeżeli [math]\displaystyle{ (U_n) }[/math] i [math]\displaystyle{ (V_n) }[/math] są ciągami Lucasa, to

[math]\displaystyle{ U_n (- P, Q) = (- 1)^{n - 1} U_n (P, Q) }[/math]
[math]\displaystyle{ V_n (- P, Q) = (- 1)^n V_n (P, Q) }[/math]
Dowód

Niech

[math]\displaystyle{ \alpha = \frac{P + \sqrt{D}}{2} \qquad \qquad \;\; \beta = \frac{P - \sqrt{D}}{2} }[/math]
[math]\displaystyle{ a = \frac{- P + \sqrt{D}}{2} \qquad \qquad b = \frac{- P - \sqrt{D}}{2} }[/math]

Liczby [math]\displaystyle{ \alpha, \beta }[/math] oraz [math]\displaystyle{ a, b }[/math] są odpowiednio pierwiastkami równań

[math]\displaystyle{ x^2 - P x + Q = 0 }[/math]
[math]\displaystyle{ x^2 + P x + Q = 0 }[/math]

Zatem definiują one ciągi Lucasa

[math]\displaystyle{ U_n (P, Q) = \frac{\alpha^n - \beta^n}{\alpha - \beta} \qquad \qquad \;\; V_n (P, Q) = \alpha^n + \beta^n }[/math]
[math]\displaystyle{ U_n (- P, Q) = \frac{a^n - b^n}{a - b} \qquad \qquad V_n (- P, Q) = a^n + b^n }[/math]

Zauważmy, że

[math]\displaystyle{ \alpha - \beta = a - b = \sqrt{D} }[/math]
[math]\displaystyle{ \frac{a}{\beta} = \frac{b}{\alpha} = - 1 }[/math]

Łatwo znajdujemy

[math]\displaystyle{ U_n (- P, Q) = \frac{a^n - b^n}{a - b} = \frac{(- \beta)^n - (- \alpha)^n}{\sqrt{D}} = (- 1)^n \cdot \frac{\beta^n - \alpha^n}{\alpha - \beta} = (- 1)^{n - 1} \cdot U_n (P, Q) }[/math]
[math]\displaystyle{ V_n (- P, Q) = a^n + b^n = (- \beta)^n + (- \alpha)^n = (- 1)^n \cdot (\alpha^n + \beta^n) = (- 1)^n \cdot V_n (P, Q) }[/math]

Co należało pokazać.


Zadanie L10
Pokazać, że jeżeli [math]\displaystyle{ P, Q \in \mathbb{Z} \setminus \{ 0 \} }[/math] i [math]\displaystyle{ D = P^2 - 4 Q \neq 0 }[/math], to

[math]\displaystyle{ U_n (2 P, 4 Q) = 2^{n - 1} U_n (P, Q) }[/math]
[math]\displaystyle{ V_n (2 P, 4 Q) = 2^n V_n (P, Q) }[/math]
Rozwiązanie

Niech

[math]\displaystyle{ \alpha = {\small\frac{P + \sqrt{D}}{2}} \qquad \qquad \;\; \beta = {\small\frac{P - \sqrt{D}}{2}} }[/math]
[math]\displaystyle{ a = P + \sqrt{D} \qquad \qquad \;\; b = P - \sqrt{D} }[/math]

Liczby [math]\displaystyle{ \alpha, \beta }[/math] oraz [math]\displaystyle{ a, b }[/math] są odpowiednio pierwiastkami równań

[math]\displaystyle{ x^2 - P x + Q = 0 }[/math]
[math]\displaystyle{ x^2 - 2 P x + 4 Q = 0 }[/math]

Zatem definiują one ciągi Lucasa

[math]\displaystyle{ U_n (P, Q) = {\small\frac{\alpha^n - \beta^n}{\alpha - \beta}} \qquad \qquad \;\;\; V_n (P, Q) = \alpha^n + \beta^n }[/math]
[math]\displaystyle{ 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]

Zauważmy, że

[math]\displaystyle{ \alpha - \beta = \sqrt{D} }[/math]
[math]\displaystyle{ a - b = 2 \sqrt{D} }[/math]
[math]\displaystyle{ {\small\frac{a}{\alpha}} = {\small\frac{b}{\beta}} = 2 }[/math]

Łatwo znajdujemy

[math]\displaystyle{ 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]\displaystyle{ 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ć.


Zadanie L11
Pokazać, że jeżeli [math]\displaystyle{ Q \in \mathbb{Z} \setminus \{ 0 \} }[/math] oraz [math]\displaystyle{ P = 4 Q - 1 }[/math], to

[math]\displaystyle{ U_{2 k} (P, P Q) = - (- P)^k U_{2 k} (1, Q) }[/math]
[math]\displaystyle{ U_{2 k + 1} (P, P Q) = (- P)^k V_{2 k + 1} (1, Q) }[/math]
[math]\displaystyle{ V_{2 k} (P, P Q) = (- P)^k V_{2 k} (1, Q) }[/math]
[math]\displaystyle{ V_{2 k + 1} (P, P Q) = - (- P)^{k + 1} U_{2 k + 1} (1, Q) }[/math]
Rozwiązanie

Niech

[math]\displaystyle{ \alpha = {\small\frac{1 + \sqrt{- P}}{2}} \qquad \qquad \beta = {\small\frac{1 - \sqrt{- P}}{2}} }[/math]
[math]\displaystyle{ a = {\small\frac{P + \sqrt{- P}}{2}} \qquad \qquad b = {\small\frac{P - \sqrt{- P}}{2}} }[/math]

Liczby [math]\displaystyle{ \alpha, \beta }[/math] oraz [math]\displaystyle{ a, b }[/math] są odpowiednio pierwiastkami równań

[math]\displaystyle{ x^2 - x + {\small\frac{P + 1}{4}} = 0 }[/math]
[math]\displaystyle{ x^2 - P x + {\small\frac{P (P + 1)}{4}} = 0 }[/math]

Z założenia [math]\displaystyle{ P = 4 Q - 1 }[/math], zatem

[math]\displaystyle{ x^2 - x + Q = 0 }[/math]
[math]\displaystyle{ x^2 - P x + P Q = 0 }[/math]

Czyli definiują one ciągi Lucasa

[math]\displaystyle{ U_n (1, Q) = {\small\frac{\alpha^n - \beta^n}{\alpha - \beta}} \qquad \qquad \:\:\: V_n (1, Q) = \alpha^n + \beta^n }[/math]
[math]\displaystyle{ 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]

Zauważmy, że

[math]\displaystyle{ \alpha - \beta = a - b = \sqrt{- P} }[/math]
[math]\displaystyle{ {\small\frac{a}{\beta}} = {\small\frac{P + \sqrt{- P}}{1 - \sqrt{- P}}} = \sqrt{- P} }[/math]
[math]\displaystyle{ {\small\frac{b}{\alpha}} = {\small\frac{P - \sqrt{- P}}{1 + \sqrt{- P}}} = - \sqrt{- P} }[/math]


Łatwo znajdujemy

[math]\displaystyle{ 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]\displaystyle{ U_{2 k + 1} (P, P Q) = \frac{a^{2 k + 1} - b^{2 k + 1}}{a - b} = \frac{\left( \beta \sqrt{- P} \right)^{2 k + 1} - \left( - \alpha \sqrt{- P} \right)^{2 k + 1}}{\sqrt{- P}} = (- P)^k (\beta^{2 k + 1} + \alpha^{2 k + 1}) = (- P)^k V_{2 k + 1} (1, Q) }[/math]


[math]\displaystyle{ 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]\displaystyle{ 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]

Co należało pokazać.


Zadanie L12
Pokazać, że jeżeli [math]\displaystyle{ Q \in \mathbb{Z} \setminus \{ 0 \} }[/math] oraz [math]\displaystyle{ P = 4 Q + 1 }[/math], to

[math]\displaystyle{ U_{2 k} (P, P Q) = P^k U_{2 k} (1, - Q) }[/math]
[math]\displaystyle{ U_{2 k + 1} (P, P Q) = P^k V_{2 k + 1} (1, - Q) }[/math]
[math]\displaystyle{ V_{2 k} (P, P Q) = P^k V_{2 k} (1, - Q) }[/math]
[math]\displaystyle{ V_{2 k + 1} (P, P Q) = P^{k + 1} U_{2 k + 1} (1, - Q) }[/math]
Rozwiązanie

Niech

[math]\displaystyle{ \alpha = {\small\frac{1 + \sqrt{P}}{2}} \qquad \qquad \beta = {\small\frac{1 - \sqrt{P}}{2}} }[/math]
[math]\displaystyle{ a = {\small\frac{P + \sqrt{P}}{2}} \qquad \qquad b = {\small\frac{P - \sqrt{P}}{2}} }[/math]

Liczby [math]\displaystyle{ \alpha, \beta }[/math] oraz [math]\displaystyle{ a, b }[/math] są odpowiednio pierwiastkami równań

[math]\displaystyle{ x^2 - x - {\small\frac{P - 1}{4}} = 0 }[/math]
[math]\displaystyle{ x^2 - P x + {\small\frac{P (P - 1)}{4}} = 0 }[/math]

Z założenia [math]\displaystyle{ P = 4 Q + 1 }[/math], zatem

[math]\displaystyle{ x^2 - x - Q = 0 }[/math]
[math]\displaystyle{ x^2 - P x + P Q = 0 }[/math]

Czyli definiują one ciągi Lucasa

[math]\displaystyle{ U_n (1, - Q) = {\small\frac{\alpha^n - \beta^n}{\alpha - \beta}} \qquad \qquad V_n (1, - Q) = \alpha^n + \beta^n }[/math]
[math]\displaystyle{ 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]

Zauważmy, że

[math]\displaystyle{ \alpha - \beta = a - b = \sqrt{P} }[/math]
[math]\displaystyle{ {\small\frac{a}{\alpha}} = {\small\frac{P + \sqrt{P}}{1 + \sqrt{P}}} = \sqrt{P} }[/math]
[math]\displaystyle{ {\small\frac{b}{\beta}} = {\small\frac{P - \sqrt{P}}{1 - \sqrt{P}}} = - \sqrt{P} }[/math]


Łatwo znajdujemy

[math]\displaystyle{ 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]


[math]\displaystyle{ U_{2 k + 1} (P, P Q) = \frac{a^{2 k + 1} - b^{2 k + 1}}{a - b} = \frac{\left( \alpha \sqrt{P} \right)^{2 k + 1} - \left( - \beta \sqrt{P} \right)^{2 k + 1}}{\sqrt{P}} = P^k (\alpha^{2 k + 1} + \beta^{2 k + 1}) = P^k V_{2 k + 1} (1, - Q) }[/math]


[math]\displaystyle{ V_{2 k} (P, P Q) = a^{2 k} + b^{2 k} = \left( \alpha \sqrt{P} \right)^{2 k} + \left( - \beta \sqrt{P} \right)^{2 k} = P^k (\alpha^{2 k} + \beta^{2 k}) = P^k V_{2 k} (1, - Q) }[/math]


[math]\displaystyle{ 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]

Co należało pokazać.


Twierdzenie L13
Dla wyrazów ciągów Lucasa prawdziwe są wzory

Dowód

Wzory 1. - 7. najłatwiej udowodnić korzystając z definicji L1.

Wzór 1.

[math]\displaystyle{ U_{m + n} = {\small\frac{\alpha^{m + n} - \beta^{m + n}}{\alpha - \beta}} }[/math]
[math]\displaystyle{ \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]\displaystyle{ \quad \: = U_m U_{n + 1} - Q U_{m - 1} U_n }[/math]


Wzór 2.

[math]\displaystyle{ V_{m + n} = \alpha^{m + n} + \beta^{m + n} }[/math]
[math]\displaystyle{ \quad \;\! = (\alpha^m + \beta^m) (\alpha^n + \beta^n) - \alpha^n \beta^n \cdot (\alpha^{m - n} + \beta^{m - n}) }[/math]
[math]\displaystyle{ \quad \;\! = V_m V_n - Q^n V_{m - n} }[/math]


Wzór 3.

[math]\displaystyle{ U_{m + n} = {\small\frac{\alpha^{m + n} - \beta^{m + n}}{\alpha - \beta}} }[/math]
[math]\displaystyle{ \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]\displaystyle{ \quad \: = U_m V_n - Q^n U_{m - n} }[/math]


Wzór 4.

[math]\displaystyle{ V_{m + n} = \alpha^{m + n} + \beta^{m + n} }[/math]
[math]\displaystyle{ \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]\displaystyle{ \quad \;\! = D U_m U_n + Q^n V_{m - n} }[/math]


Wzór 5.

[math]\displaystyle{ 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]\displaystyle{ \;\;\: = 2 \cdot \alpha^n \beta^n \cdot {\small\frac{\alpha^{m - n} - \beta^{m - n}}{\alpha - \beta}} }[/math]
[math]\displaystyle{ \;\;\: = 2 Q^n U_{m - n} }[/math]


Wzór 6.

[math]\displaystyle{ U^2_n = \left( {\small\frac{\alpha^n - \beta^n}{\alpha - \beta}} \right)^2 }[/math]
[math]\displaystyle{ \;\! = {\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]\displaystyle{ \;\! = U_{n - 1} U_{n + 1} + Q^{n - 1} }[/math]


Wzór 7.

[math]\displaystyle{ V^2_n = (\alpha^n + \beta^n)^2 }[/math]
[math]\displaystyle{ \;\! = (\alpha^{n - 1} + \beta^{n - 1}) (\alpha^{n + 1} + \beta^{n + 1}) - (\alpha - \beta)^2 \cdot \alpha^{n - 1} \beta^{n - 1} }[/math]
[math]\displaystyle{ \;\! = V_{n - 1} V_{n + 1} - D Q^{n - 1} }[/math]


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]\displaystyle{ 2 }[/math] i wzoru 5.

Wzór 9. Policzyć sumę wzorów 2. i 4.

Wzór 10. Połączyć wzory 2. i 4.

Wzór 11. We wzorze 3. położyć [math]\displaystyle{ m = n }[/math].

Wzór 12. We wzorze 2. położyć [math]\displaystyle{ m = n }[/math].

Wzór 13. We wzorze 4. położyć [math]\displaystyle{ m = n }[/math].

Wzór 14. We wzorze 10. położyć [math]\displaystyle{ m = n }[/math] lub połączyć wzory 12. i 13.

Wzór 15. We wzorze 9. położyć [math]\displaystyle{ m = 1 }[/math].

Wzór 16. We wzorze 8. położyć [math]\displaystyle{ m = 1 }[/math].

Wzór 17. We wzorze 15. położyć [math]\displaystyle{ V_{n + 1} = P V_n - Q V_{n - 1} }[/math].

Wzór 18. We wzorze 16. położyć [math]\displaystyle{ U_{n + 1} = P U_n - Q U_{n - 1} }[/math].


Wzory 19. - 21. to wzory, które wykorzystamy w przyszłości do szybkiego obliczania wartości wyrazów [math]\displaystyle{ U_n }[/math] i [math]\displaystyle{ V_n }[/math] modulo.

Wzór 19. Wystarczy połączyć wzory 11. oraz 16.

Wzór 20. Wystarczy we wzorze 1. położyć [math]\displaystyle{ m = n + 1 }[/math].

Wzór 21. Kładąc we wzorze 19. [math]\displaystyle{ n \rightarrow n + 1 }[/math], otrzymujemy

[math]\displaystyle{ U_{2 n + 2} = 2 U_{n + 1} U_{n + 2} - P U^2_{n + 1} \qquad (*) }[/math]

Kładąc we wzorze 1. [math]\displaystyle{ m = n + 2 }[/math], mamy

[math]\displaystyle{ U_{2 n + 2} = U_{n + 2} U_{n + 1} - Q U_{n + 1} U_n }[/math]

Czyli

[math]\displaystyle{ 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]\displaystyle{ (*) }[/math], dostajemy wzór 21.

[math]\displaystyle{ U_{2 n + 2} = P U^2_{n + 1} - 2 Q U_n U_{n + 1} }[/math]

Co należało pokazać.



Obliczanie wyrazów ciągu Lucasa modulo [math]\displaystyle{ m }[/math]

Przykład L14
Pokażemy, jak wykorzystać podane w twierdzeniu L13 wzory 19, 20, 21 i 16

[math]\displaystyle{ U_{2 n} = 2 U_n U_{n + 1} - P U^2_n }[/math]
[math]\displaystyle{ U_{2 n + 1} = U^2_{n + 1} - Q U^2_n }[/math]
[math]\displaystyle{ U_{2 n + 2} = P U^2_{n + 1} - 2 Q U_n U_{n + 1} }[/math]
[math]\displaystyle{ V_n = 2 U_{n + 1} - P U_n }[/math]

do szybkiego obliczania wyrazów ciągu Lucasa modulo [math]\displaystyle{ m }[/math].


Niech [math]\displaystyle{ P = 3 }[/math], [math]\displaystyle{ Q = 1 }[/math], [math]\displaystyle{ D = P^2 - 4 Q = 5 }[/math], [math]\displaystyle{ 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]\displaystyle{ U_n = U_{22} }[/math] modulo [math]\displaystyle{ m = 23 }[/math].

W kolumnie [math]\displaystyle{ a_j }[/math] wypisujemy kolejne cyfry liczby [math]\displaystyle{ n = 22 = (10110)_2 }[/math] zapisanej w układzie dwójkowym. Liczby w kolumnie [math]\displaystyle{ k_j }[/math] tworzymy, biorąc kolejne (od prawej do lewej) cyfry liczby [math]\displaystyle{ n }[/math] w zapisie dwójkowym. Postępując w ten sposób, w ostatnim wierszu mamy [math]\displaystyle{ k_j = n }[/math] i wyliczamy liczby [math]\displaystyle{ U_n }[/math] i [math]\displaystyle{ U_{n + 1} }[/math] modulo [math]\displaystyle{ m }[/math].

Dla uproszczenia zapisu i ułatwienia zrozumienia liczbę [math]\displaystyle{ k_j }[/math] oznaczymy jako [math]\displaystyle{ r }[/math], a [math]\displaystyle{ k_{j + 1} }[/math] jako [math]\displaystyle{ s }[/math]. Zauważmy, że

  • tabela jest zbudowana tak, że musimy znaleźć wyrazy ciągu Lucasa o indeksie [math]\displaystyle{ r = k_j }[/math] oraz o indeksie o jeden większym: [math]\displaystyle{ r + 1 = k_j + 1 }[/math]
  • przejście do następnego wiersza (w dół) oznacza, że musimy znaleźć wyrazy o indeksie [math]\displaystyle{ s = k_{j + 1} }[/math] oraz o indeksie o jeden większym: [math]\displaystyle{ s + 1 }[/math]
  • przechodząc do następnego wiersza, dotychczasowa liczba [math]\displaystyle{ r = k_j }[/math] powiększa się o kolejną cyfrę ( [math]\displaystyle{ 0 }[/math] lub [math]\displaystyle{ 1 }[/math] ), którą dopisujemy z prawej strony
  • dodanie na końcu liczby [math]\displaystyle{ r = k_j }[/math] zera podwaja liczbę [math]\displaystyle{ r }[/math], czyli [math]\displaystyle{ s = k_{j + 1} = 2 r }[/math] oraz [math]\displaystyle{ s + 1 = 2 r + 1 }[/math]
  • dodanie na końcu liczby [math]\displaystyle{ r = k_j }[/math] jedynki podwaja liczbę [math]\displaystyle{ r }[/math] i zwiększą ją o jeden, czyli [math]\displaystyle{ s = k_{j + 1} = 2 r + 1 }[/math] oraz [math]\displaystyle{ s + 1 = 2 r + 2 }[/math]


Dlatego, jeżeli kolejną dodaną cyfrą jest zero, to korzystamy ze wzorów

[math]\displaystyle{ U_s = U_{2 r} = 2 U_r U_{r + 1} - P U^2_r }[/math]
[math]\displaystyle{ U_{s + 1} = U_{2 r + 1} = U^2_{r + 1} - Q U^2_r }[/math]

Gdy kolejną dodaną cyfrą jest jeden, to stosujemy wzory

[math]\displaystyle{ U_s = U_{2 r + 1} = U^2_{r + 1} - Q U^2_r }[/math]
[math]\displaystyle{ U_{s + 1} = U_{2 r + 2} = P U^2_{r + 1} - 2 Q U_r U_{r + 1} }[/math]


Korzystając ze wzoru [math]\displaystyle{ V_n = 2 U_{n + 1} - P U_n }[/math], mamy

[math]\displaystyle{ V_{22} = 2 U_{23} - 3 U_{22} \equiv 44 - 60 \equiv - 16 \equiv 7 \pmod{23} }[/math]

Ostatecznie otrzymujemy

[math]\displaystyle{ U_{22} \equiv 20 \pmod{23} \quad }[/math] oraz [math]\displaystyle{ \quad V_{22} \equiv 7 \pmod{23} }[/math]


Uwaga L15
Uogólniając postępowanie przedstawione w przykładzie L14, możemy napisać program w PARI/GP do szybkiego obliczania wyrazów ciągu Lucasa [math]\displaystyle{ U_n (P, Q) }[/math] i [math]\displaystyle{ V_n (P, Q) }[/math] modulo [math]\displaystyle{ m }[/math].

modLucas(n, P, Q, m) =
{
local(A, i, s, U, U2, V, W, W2);
if( m == 1, return([0, 0]) );
if( n == 0, return([0, 2 % m]) );
A = digits(n, 2); \\ otrzymujemy wektor cyfr liczby n w układzie dwójkowym
s = length(A); \\ długość wektora A
U = 1;
W = P;
i = 1;
while( i++ <= s,
       if( A[i] == 0,  U2 = 2*U*W - P*U^2;  W2 = W^2 - Q*U^2 );
       if( A[i] == 1,  U2 = W^2 - Q*U^2;  W2 = P*W^2 - 2*Q*U*W );
       U = U2 % m;
       W = W2 % m;
     );
V = (2*W - P*U) % m;
return([U, V]);
}



Podzielność wyrazów [math]\displaystyle{ U_n (P, Q) }[/math] przez liczbę pierwszą nieparzystą

Uwaga L16
Niech [math]\displaystyle{ p }[/math] będzie liczbą pierwszą nieparzystą. W przypadku, gdy [math]\displaystyle{ p \nmid P Q }[/math] nie możemy nic powiedzieć o podzielności wyrazów [math]\displaystyle{ U_n }[/math] przez [math]\displaystyle{ p }[/math]. Przykładowo, jeżeli [math]\displaystyle{ P \equiv 1 \pmod{p} \; }[/math] [math]\displaystyle{ \text{i} \;\; Q \equiv 1 \pmod{p} }[/math], to modulo [math]\displaystyle{ p }[/math], mamy

[math]\displaystyle{ (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]

W przypadku, gdy [math]\displaystyle{ P \equiv 2 \pmod{p} \; }[/math] [math]\displaystyle{ \text{i} \;\; Q \equiv 1 \pmod{p} }[/math], to modulo [math]\displaystyle{ p }[/math] mamy

[math]\displaystyle{ (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]\displaystyle{ p \mid P Q }[/math].


Twierdzenie L17
Niech [math]\displaystyle{ p }[/math] będzie liczbą pierwszą nieparzystą.

●    jeżeli [math]\displaystyle{ \; p \mid P \; }[/math] [math]\displaystyle{ \text{i} \;\; p \mid Q , \; }[/math] to [math]\displaystyle{ \; p \mid U_n \; }[/math] dla [math]\displaystyle{ n \geqslant 2 }[/math]
●    jeżeli [math]\displaystyle{ \; p \mid P \; }[/math] [math]\displaystyle{ \text{i} \;\; p \nmid Q , \; }[/math] to [math]\displaystyle{ \; p \mid U_{2 n} \; }[/math] i [math]\displaystyle{ \; p \nmid U_{2 n + 1} }[/math]
●    jeżeli [math]\displaystyle{ \; p \nmid P \; }[/math] [math]\displaystyle{ \text{i} \;\; p \mid Q , \; }[/math] to [math]\displaystyle{ \; p \nmid U_n \; }[/math] dla [math]\displaystyle{ n \geqslant 1 }[/math]
●    jeżeli [math]\displaystyle{ \; p \mid Q , \; }[/math] to [math]\displaystyle{ \; p \mid U_n }[/math], gdzie [math]\displaystyle{ n \geqslant 2 }[/math], wtedy i tylko wtedy, gdy [math]\displaystyle{ \; p \mid P }[/math]
●    jeżeli [math]\displaystyle{ \; p \nmid P \; }[/math] [math]\displaystyle{ \text{i} \;\; p \mid D , \; }[/math] to [math]\displaystyle{ \; p \mid U_n \; }[/math] wtedy i tylko wtedy, gdy [math]\displaystyle{ p \mid n }[/math]

Założenie, że [math]\displaystyle{ p \nmid P }[/math] w ostatnim punkcie jest istotne. Gdy [math]\displaystyle{ \; p \mid P \; }[/math] i [math]\displaystyle{ \; p \mid D , \; }[/math] to [math]\displaystyle{ \; p \mid Q \; }[/math] i otrzymujemy punkt pierwszy.

Dowód

Punkt 1.

Ponieważ [math]\displaystyle{ U_2 = P }[/math], zatem [math]\displaystyle{ p \mid U_2 }[/math]. Dla [math]\displaystyle{ n \geqslant 3 }[/math] wyrażenie [math]\displaystyle{ U_n = P U_{n - 1} - Q U_{n - 2} }[/math] jest podzielne przez [math]\displaystyle{ p }[/math].

Punkt 2.

Indeksy parzyste. Indukcja matematyczna. Mamy [math]\displaystyle{ U_0 = 0 }[/math] i [math]\displaystyle{ U_2 = P }[/math], zatem [math]\displaystyle{ p \mid U_0 }[/math] i [math]\displaystyle{ p \mid U_2 }[/math]. Zakładając, że [math]\displaystyle{ p \mid U_{2 n} }[/math], z definicji ciągu [math]\displaystyle{ (U_k) }[/math], otrzymujemy dla [math]\displaystyle{ U_{2 n + 2} }[/math]

[math]\displaystyle{ U_{2 n + 2} = P U_{2 n - 1} - Q U_{2 n} }[/math]

Z założenia indukcyjnego wynika, że [math]\displaystyle{ p \mid U_{2 n + 2} }[/math], zatem na mocy zasady indukcji matematycznej twierdzenie jest prawdziwe dla wszystkich [math]\displaystyle{ n \geqslant 0 }[/math].

Indeksy nieparzyste. Indukcja matematyczna. Mamy [math]\displaystyle{ U_1 = 1 }[/math] i [math]\displaystyle{ U_3 = P^2 - Q }[/math], zatem [math]\displaystyle{ p \nmid U_1 }[/math] i [math]\displaystyle{ p \nmid U_3 }[/math]. Zakładając, że [math]\displaystyle{ p \nmid U_{2 n - 1} }[/math], z definicji ciągu [math]\displaystyle{ (U_k) }[/math], otrzymujemy dla [math]\displaystyle{ U_{2 n + 1} }[/math]

[math]\displaystyle{ U_{2 n + 1} = P U_{2 n} - Q U_{2 n - 1} }[/math]

Z założenia indukcyjnego wynika, że [math]\displaystyle{ p \nmid U_{2 n + 1} }[/math], zatem na mocy zasady indukcji matematycznej twierdzenie jest prawdziwe dla wszystkich [math]\displaystyle{ n \geqslant 1 }[/math].

Punkt 3.

Indukcja matematyczna. Mamy [math]\displaystyle{ U_1 = 1 }[/math] i [math]\displaystyle{ U_2 = P }[/math], zatem [math]\displaystyle{ p \nmid U_1 }[/math] i [math]\displaystyle{ p \nmid U_2 }[/math]. Zakładając, że [math]\displaystyle{ p \nmid U_n }[/math] zachodzi dla wszystkich liczb całkowitych dodatnich nie większych od [math]\displaystyle{ n }[/math], z definicji ciągu [math]\displaystyle{ (U_n) }[/math] otrzymujemy dla [math]\displaystyle{ n + 1 }[/math]

[math]\displaystyle{ U_{n + 1} = P U_n - Q U_{n - 1} }[/math]

Z założenia indukcyjnego wynika, że [math]\displaystyle{ p \nmid U_{n + 1} }[/math], zatem na mocy zasady indukcji matematycznej twierdzenie jest prawdziwe dla wszystkich liczb [math]\displaystyle{ n \geqslant 1 }[/math].

Punkt 4.

Wynika z punktów pierwszego i trzeciego.

Punkt 5.

Z twierdzenia L7 wiemy, że

[math]\displaystyle{ 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]\displaystyle{ \;\; = n P^{n - 1} + \binom{n}{3} P^{n - 3} D + \binom{n}{5} P^{n - 5} D^2 + \ldots + \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]\displaystyle{ p \mid D }[/math], zatem modulo [math]\displaystyle{ p }[/math] dostajemy

[math]\displaystyle{ 2^{n - 1} U_n \equiv n P^{n - 1} \pmod{p} }[/math]

Ponieważ [math]\displaystyle{ p \nmid P }[/math], zatem [math]\displaystyle{ p \mid U_n }[/math] wtedy i tylko wtedy, gdy [math]\displaystyle{ p \mid n }[/math]. Co należało pokazać.


Twierdzenie L18
Jeżeli [math]\displaystyle{ d }[/math] jest nieparzystym dzielnikiem [math]\displaystyle{ Q }[/math], to dla [math]\displaystyle{ n \geqslant 2 }[/math] jest

[math]\displaystyle{ U_n \equiv P^{n - 1} \pmod{d} }[/math]

W szczególności, gdy liczba pierwsza nieparzysta [math]\displaystyle{ p }[/math] jest dzielnikiem [math]\displaystyle{ Q }[/math] i [math]\displaystyle{ p \nmid P }[/math], to

[math]\displaystyle{ U_p \equiv 1 \pmod{p} }[/math]
Dowód

Oznaczmy [math]\displaystyle{ \delta = \sqrt{D} }[/math], zatem [math]\displaystyle{ 2 \alpha = P + \delta }[/math] i [math]\displaystyle{ 2 \beta = P - \delta }[/math]. Ze wzoru dwumianowego, mamy

[math]\displaystyle{ 2^n \alpha^n = (P + \delta)^n = \sum_{j = 0}^{n} \binom{n}{j} P^{n - j} \delta^j }[/math]
[math]\displaystyle{ 2^n \beta^n = (P - \delta)^n = \sum_{j = 0}^{n} \binom{n}{j} P^{n - j} (- \delta)^j }[/math]


Obliczając różnicę wyjściowych wzorów, mamy

[math]\displaystyle{ 2^n (\alpha^n - \beta^n) = \sum_{j = 0}^{n} \binom{n}{j} P^{n - j} (\delta^j - (- \delta)^j) = }[/math]
[math]\displaystyle{ \quad \: = \underset{j \; \text{nieparzyste}}{\sum_{j = 1}^{n}} \binom{n}{j} P^{n - j} \cdot 2 \delta^j }[/math]
[math]\displaystyle{ \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]\displaystyle{ Q }[/math] dostajemy (zobacz L43)

[math]\displaystyle{ 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]\displaystyle{ \;\:\: \equiv P^{n - 1} \underset{j \; \text{nieparzyste}}{\sum_{j = 1}^{n}} \binom{n}{j} }[/math]
[math]\displaystyle{ \;\:\: \equiv 2^{n - 1} P^{n - 1} }[/math]

Czyli

[math]\displaystyle{ 2^{n - 1} (U_n - P^{n - 1}) \equiv 0 \pmod{Q} }[/math]

Ponieważ [math]\displaystyle{ Q }[/math] dzieli [math]\displaystyle{ 2^{n - 1} (U_n - P^{n - 1}) }[/math], to tym bardziej [math]\displaystyle{ d }[/math] dzieli [math]\displaystyle{ 2^{n - 1} (U_n - P^{n - 1}) }[/math]. Z założenia [math]\displaystyle{ \gcd (d, 2^{n - 1}) = 1 }[/math], zatem [math]\displaystyle{ d }[/math] dzieli [math]\displaystyle{ U_n - P^{n - 1} }[/math] (zobacz C72).

W przypadku szczególnym, gdy [math]\displaystyle{ d = p }[/math], gdzie [math]\displaystyle{ p }[/math] jest nieparzystą liczbą pierwszą i [math]\displaystyle{ p \nmid P }[/math], z twierdzenia Fermata otrzymujemy natychmiast

[math]\displaystyle{ U_p \equiv P^{p - 1} \equiv 1 \pmod{p} }[/math]

Co należało pokazać.


Twierdzenie L19
Niech [math]\displaystyle{ D = P^2 - 4 Q }[/math], a [math]\displaystyle{ (D \mid p) }[/math] oznacza symbol Legendre'a, gdzie [math]\displaystyle{ p }[/math] jest liczbą pierwszą nieparzystą i [math]\displaystyle{ p \nmid Q }[/math]. Mamy

●    [math]\displaystyle{ U_p \equiv (D \mid p) \pmod{p} }[/math]
●    jeżeli [math]\displaystyle{ (D \mid p) = - 1 , \; }[/math] to [math]\displaystyle{ \; p \mid U_{p + 1} }[/math]
●    jeżeli [math]\displaystyle{ (D \mid p) = 1 , \; }[/math] to [math]\displaystyle{ \; p \mid U_{p - 1} }[/math]
Dowód

Punkt 1.

Zauważmy, że przypadek gdy [math]\displaystyle{ p \mid Q }[/math], omówiliśmy w twierdzeniu poprzednim. Z założenia [math]\displaystyle{ p }[/math] jest liczbą pierwszą nieparzystą. Z twierdzenia L7, w przypadku nieparzystego [math]\displaystyle{ n = p }[/math], otrzymujemy

[math]\displaystyle{ 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]\displaystyle{ k \in [1, p - 1] }[/math] (zobacz L43)

[math]\displaystyle{ \binom{p}{k} \equiv 0 \pmod{p} }[/math]

to modulo [math]\displaystyle{ p }[/math] dostajemy (zobacz J28)

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

Punkt 2.

Zauważmy, że warunek [math]\displaystyle{ (D \mid p) = - 1 }[/math] nie może być spełniony, gdy [math]\displaystyle{ p \mid Q }[/math]. Istotnie, gdy [math]\displaystyle{ p \mid Q }[/math], to [math]\displaystyle{ D = P^2 - 4 Q \equiv P^2 \pmod{p} }[/math], czyli

[math]\displaystyle{ (D \mid p) = (P^2 \mid p) = (P \mid p)^2 = 0 , \; }[/math] gdy [math]\displaystyle{ p \mid P }[/math]

lub

[math]\displaystyle{ (D \mid p) = (P^2 \mid p) = (P \mid p)^2 = 1 , \; }[/math] gdy [math]\displaystyle{ p \nmid P }[/math]

i nie może być [math]\displaystyle{ (D \mid p) = - 1 }[/math].

Dla parzystego [math]\displaystyle{ n = p + 1 }[/math] otrzymujemy z twierdzenia L7

[math]\displaystyle{ 2^p U_{p + 1} = (p + 1) P^p + \binom{p + 1}{3} P^{p - 2} D + \binom{p + 1}{5} P^{p - 4} D^2 + \ldots + \binom{p + 1}{p - 2} P^3 D^{(p - 3) / 2} + (p + 1) P D^{(p - 1) / 2} }[/math]

Ponieważ dla [math]\displaystyle{ k \in [2, p - 1] }[/math] (zobacz L44)

[math]\displaystyle{ \binom{p + 1}{k} \equiv 0 \pmod{p} }[/math]

to modulo [math]\displaystyle{ p }[/math] dostajemy

[math]\displaystyle{ 2 U_{p + 1} \equiv P + P D^{(p - 1) / 2} \pmod{p} }[/math]


Z założenia [math]\displaystyle{ D }[/math] jest liczbą niekwadratową modulo [math]\displaystyle{ p }[/math], zatem [math]\displaystyle{ D^{(p - 1) / 2} \equiv - 1 \pmod{p} }[/math] (zobacz J25). Skąd wynika natychmiast, że

[math]\displaystyle{ 2 U_{p + 1} \equiv 0 \pmod{p} }[/math]

Czyli [math]\displaystyle{ p \mid U_{p + 1} }[/math].

Punkt 3.

Dla parzystego [math]\displaystyle{ n = p - 1 }[/math] otrzymujemy z twierdzenia L7

[math]\displaystyle{ 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]

Ponieważ dla [math]\displaystyle{ k \in [0, p - 1] }[/math] (zobacz L45)

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

to modulo [math]\displaystyle{ p }[/math] mamy

[math]\displaystyle{ 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]
[math]\displaystyle{ \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]\displaystyle{ D }[/math] jest liczbą kwadratową modulo [math]\displaystyle{ p }[/math] (zobacz J23), zatem istnieje taka liczba [math]\displaystyle{ R }[/math], że

[math]\displaystyle{ D \equiv R^2 \pmod{p} }[/math]

Ponieważ

  • [math]\displaystyle{ (D \mid p) = 1 }[/math], to [math]\displaystyle{ p \nmid D }[/math], zatem [math]\displaystyle{ p \nmid R }[/math]
  • z założenia [math]\displaystyle{ p \nmid Q }[/math], to [math]\displaystyle{ P^2 - R^2 \equiv P^2 - D \equiv 4 Q \not\equiv 0 \pmod{p} }[/math]


Czyli

[math]\displaystyle{ 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]


Uwzględniając, że [math]\displaystyle{ P^2 - R^2 \not\equiv 0 \pmod{p} }[/math], możemy napisać

[math]\displaystyle{ 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]
[math]\displaystyle{ \equiv - P (P^{p - 1} - R^{p - 1}) \pmod{p} }[/math]
[math]\displaystyle{ \equiv 0 \pmod{p} }[/math]

Zauważmy, że wynik nie zależy od tego, czy [math]\displaystyle{ p \mid P }[/math], czy [math]\displaystyle{ p \nmid P }[/math]. Skąd wynika

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

Co należało pokazać.


Aby zapisać punkty 2. i 3. twierdzenia L19 (i tylko te punkty) w zwartej formie, musimy założyć, że [math]\displaystyle{ \gcd (p, D) = 1 }[/math]. Otrzymujemy
Twierdzenie L20
Jeżeli [math]\displaystyle{ p }[/math] jest liczbą pierwszą nieparzystą i [math]\displaystyle{ \gcd (p, Q D) = 1 }[/math], to

[math]\displaystyle{ U_{p - (D \mid p)} \equiv 0 \pmod{p} }[/math]



Liczby pseudopierwsze Lucasa

Uwaga L21
Z twierdzenia L20 wiemy, że liczby pierwsze nieparzyste [math]\displaystyle{ p }[/math] takie, że [math]\displaystyle{ p \nmid Q D }[/math] są dzielnikami wyrazów ciągu Lucasa [math]\displaystyle{ U_{p - (D \mid p)} }[/math], gdzie [math]\displaystyle{ (D \mid p) }[/math] oznacza symbol Legendre'a. Jeśli zastąpimy symbol Legendre'a symbolem Jacobiego, to będziemy mogli badać prawdziwość tego twierdzenia dla liczb złożonych i łatwo przekonamy się, że dla pewnych liczb złożonych [math]\displaystyle{ m }[/math] kongruencja

[math]\displaystyle{ U_{m - (D \mid m)} \equiv 0 \pmod{m} }[/math]

również jest prawdziwa. Prowadzi to definicji liczb pseudopierwszych Lucasa.


Definicja L22
Powiemy, że liczba złożona nieparzysta [math]\displaystyle{ m }[/math] jest liczbą pseudopierwszą Lucasa dla parametrów [math]\displaystyle{ P }[/math] i [math]\displaystyle{ Q }[/math] (symbolicznie: LPSP( [math]\displaystyle{ P, Q }[/math] )), jeżeli [math]\displaystyle{ \gcd (m, Q D) = 1 }[/math] i

[math]\displaystyle{ U_{m - (D \mid m)} \equiv 0 \pmod{m} }[/math]

gdzie [math]\displaystyle{ (D \mid m) }[/math] oznacza symbol Jacobiego.


Twierdzenie L23
Jeżeli liczba złożona nieparzysta [math]\displaystyle{ m }[/math] jest liczbą pseudopierwszą Lucasa dla parametrów [math]\displaystyle{ P = a + 1 }[/math] i [math]\displaystyle{ Q = a }[/math], gdzie [math]\displaystyle{ a \geqslant 2 }[/math], to jest liczbą pseudopierwszą Fermata przy podstawie [math]\displaystyle{ a }[/math].

Dowód

Połóżmy we wzorze definiującym ciąg Lucasa

[math]\displaystyle{ U_m = {\small\frac{\alpha^m - \beta^m}{\alpha - \beta}} }[/math]

[math]\displaystyle{ \alpha = a }[/math] i [math]\displaystyle{ \beta = 1 }[/math]. Odpowiada to parametrom [math]\displaystyle{ P = \alpha + \beta = a + 1 }[/math], [math]\displaystyle{ Q = \alpha \beta = a }[/math], [math]\displaystyle{ D = (\alpha - \beta)^2 = (a - 1)^2 }[/math].

Ponieważ musi być [math]\displaystyle{ \gcd (m, Q D) = 1 }[/math], to mamy [math]\displaystyle{ \gcd (m, (a - 1) a) = 1 }[/math] i wynika stąd, że [math]\displaystyle{ (D \mid m) = 1 }[/math]. Z założenia [math]\displaystyle{ m }[/math] jest liczbą pseudopierwszą Lucasa dla parametrów [math]\displaystyle{ P = a + 1 }[/math] i [math]\displaystyle{ Q = a }[/math], zatem

[math]\displaystyle{ U_{m - 1} (a + 1, a) \equiv 0 \pmod{m} }[/math]

Czyli

[math]\displaystyle{ {\small\frac{a^{m - 1} - 1}{a - 1}} \equiv 0 \pmod{m} }[/math]

Jeżeli [math]\displaystyle{ m \biggr\rvert {\small\frac{a^{m - 1} - 1}{a - 1}} }[/math], to tym bardziej [math]\displaystyle{ m \big\rvert (a^{m - 1} - 1) }[/math] i możemy napisać

[math]\displaystyle{ a^{m - 1} - 1 \equiv 0 \pmod{m} }[/math]

Zatem [math]\displaystyle{ m }[/math] jest liczbą pseudopierwszą Fermata przy podstawie [math]\displaystyle{ a }[/math]. Co należało pokazać.


Uwaga L24
Wykorzystując funkcje jacobi(a, n) i modLucas(n, P, Q, m) (zobacz J48, L15) możemy napisać prosty program, który sprawdza, czy dla liczby nieparzystej [math]\displaystyle{ m }[/math] prawdziwe jest twierdzenie L20.

isPrimeOrLPSP(m, P, Q) = 
{
local(D, js);
D = P^2 - 4*Q;
if( gcd(m, 2*Q*D) > 1, return(0) );
js = jacobi(D, m);
if( modLucas(m - js, P, Q, m)[1] == 0, return(1), return(0) );
}


Przykład L25
Poniższa tabela zawiera najmniejsze liczby pseudopierwsze Lucasa dla różnych parametrów [math]\displaystyle{ P }[/math] i [math]\displaystyle{ Q }[/math]

Pokaż kod
FirstLPSP(Stop) = 
\\ najmniejsze LPSP(P,Q) < Stop;  dla 1<=P<=10 i -5<=Q<=5
{
local(D, m, P, Q);
Q = -6;
while( Q++ <= 5,
       if( Q == 0, next() );
       P = 0;
       while( P++ <= 10,
              D = P^2 - 4*Q;
              if( D == 0, 
                  print("Q= ", Q, "   P= ", P, "   ------------------");
                  next();
                );
              m = 3;
              while( m < Stop,
                     if( isPrimeOrLPSP(m, P, Q)  &&  !isprime(m),
                         print("Q= ", Q, "   P= ", P, "   m= ", m, "   (D|m)= ", jacobi(D, m));
                         break();
                       );
                     m = m + 2;
                   );
            );
     );
}


Żółtym tłem oznaczyliśmy te najmniejsze liczby pseudopierwsze Lucasa, dla których [math]\displaystyle{ (D \mid m) = - 1 }[/math].


Przykład L26
Ilość liczb LPSP([math]\displaystyle{ P, Q }[/math]) mniejszych od [math]\displaystyle{ 10^9 }[/math]

Pokaż kod
NumOfLPSP(Stop) = 
\\ ilość liczb pseudopierwszych Lucasa LPSP(P,Q) < Stop;  dla 1<=P<=10 i -5<=Q<=5
{
local(D, m, P, Q);
Q = -6;
while( Q++ <= 5,
       if( Q == 0, next() );
       P = 0;
       while( P++ <= 10,
              D = P^2 - 4*Q;
              if( D == 0, print("Q= ", Q, "   P= ", P, "   ------------------"); next() );
              s = 0;
              m = 3;
              while( m < Stop,
                     if( isPrimeOrLPSP(m, P, Q)  &&  !isprime(m), s++ );
                     m = m + 2;
                   );
              print("Q= ", Q, "   P= ", P, "   s= ", s);
            );
     );
}



Uwaga L27
Dla [math]\displaystyle{ (P, Q) = (1, 1) }[/math] ciąg Lucasa [math]\displaystyle{ (U_n) }[/math] ma postać

[math]\displaystyle{ (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]

Stosując indukcję matematyczną, udowodnimy, że [math]\displaystyle{ U_{3 k} = 0 }[/math]. Łatwo sprawdzamy, że dla [math]\displaystyle{ k = 0 }[/math] i [math]\displaystyle{ k = 1 }[/math] wzór jest prawdziwy. Zakładając prawdziwość wzoru dla wszystkich liczb naturalnych nie większych od [math]\displaystyle{ k }[/math], otrzymujemy dla [math]\displaystyle{ k + 1 }[/math] (zobacz L13 p.3)

[math]\displaystyle{ U_{3 (k + 1)} = U_{3 k + 3} = U_{3 k} V_3 - U_{3 (k - 1)} = 0 }[/math]

Co kończy dowód. Zbadajmy liczby pseudopierwsze Lucasa dla [math]\displaystyle{ (P, Q) = (1, 1) }[/math].

Mamy [math]\displaystyle{ D = P^2 - 4 Q = - 3 }[/math]. Wynika stąd, że nie może być [math]\displaystyle{ 3 \mid m }[/math], bo mielibyśmy [math]\displaystyle{ \gcd (m, Q D) = 3 \gt 1 }[/math].

Z zadania J46 wiemy, że

[math]\displaystyle{ (- 3 \mid m) = \begin{cases} \;\;\: 1 & \text{gdy } m = 6 k + 1 \\ \;\;\: 0 & \text{gdy } m = 6 k + 3 \\ - 1 & \text{gdy } m = 6 k + 5 \end{cases} }[/math]

Ponieważ [math]\displaystyle{ 3 \nmid m }[/math], to wystarczy zbadać przypadki [math]\displaystyle{ m = 6 k + 1 }[/math] i [math]\displaystyle{ m = 6 k + 5 }[/math]. W pierwszym przypadku jest

[math]\displaystyle{ U_{m - (- 3 \mid m)} = U_{6 k + 1 - 1} = U_{6 k} = 0 }[/math]

W drugim przypadku, gdy [math]\displaystyle{ m = 6 k + 5 }[/math], dostajemy

[math]\displaystyle{ U_{m - (- 3 \mid m)} = U_{6 k + 5 + 1} = U_{6 (k + 1)} = 0 }[/math]

Zatem dla dowolnej liczby nieparzystej [math]\displaystyle{ m }[/math] niepodzielnej przez [math]\displaystyle{ 3 }[/math] jest

[math]\displaystyle{ U_{m - (- 3 \mid m)} \equiv 0 \pmod{m} }[/math]

Czyli liczbami pseudopierwszymi Lucasa dla parametrów [math]\displaystyle{ (P, Q) = (1, 1) }[/math] będą liczby nieparzyste [math]\displaystyle{ m }[/math], które nie są podzielne przez [math]\displaystyle{ 3 }[/math] i nie są liczbami pierwszymi. Ilość takich liczb nie większych od [math]\displaystyle{ 10^k }[/math] możemy łatwo znaleźć poleceniem

for(k = 1, 9, s = 0; forstep(m = 3, 10^k, 2, if( m%6 <> 3, s = s + !isprime(m) )); print(s))


Zadanie L28
Pokazać, że ilość liczb pseudopierwszych Lucasa dla parametrów [math]\displaystyle{ (P, Q) = (2, 2) }[/math] nie większych od [math]\displaystyle{ 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))



Metoda Selfridge'a wyboru parametrów [math]\displaystyle{ P }[/math] i [math]\displaystyle{ Q }[/math]

Uwaga L29
Twierdzenie L20 możemy wykorzystać do testowania pierwszości liczb. Ponieważ musi być spełniony warunek [math]\displaystyle{ \gcd (m, Q D) = 1 }[/math], to nie każda para liczb [math]\displaystyle{ 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]\displaystyle{ P, Q }[/math].

Robert Baillie i Samuel Wagstaff przedstawili[1] dwie metody wyboru parametrów dla testu Lucasa. Ograniczymy się do omówienia tylko pierwszej z nich (metodę zaproponował John Selfridge).

Rozważmy ciąg [math]\displaystyle{ a_k = (- 1)^k (2 k + 1) }[/math], gdzie [math]\displaystyle{ k \geqslant 2 }[/math], czyli [math]\displaystyle{ a_k = (5, - 7, 9, - 11, 13, - 15, \ldots) }[/math]. Niech [math]\displaystyle{ D }[/math] będzie pierwszym wyrazem ciągu [math]\displaystyle{ (a_k) }[/math], dla którego jest [math]\displaystyle{ (a_k \mid m) = - 1 }[/math]. Dla tak ustalonego [math]\displaystyle{ D }[/math] przyjmujemy [math]\displaystyle{ P = 1 }[/math] i [math]\displaystyle{ Q = (1 - D) / 4 }[/math].

Tabela przedstawia początkowe wartości [math]\displaystyle{ Q }[/math], jakie otrzymamy, stosując tę metodę.


Zauważmy, że

  • jeżeli liczba nieparzysta [math]\displaystyle{ m }[/math] jest liczbą kwadratową, to wybór [math]\displaystyle{ D }[/math] nie będzie możliwy
  • w przypadku zastosowania tej metody znajdziemy tylko liczby pierwsze lub pseudopierwsze Lucasa, które spełniają kongruencję [math]\displaystyle{ U_{m + 1} \equiv 0 \pmod{m} }[/math], czyli tylko część liczb pseudopierwszych Lucasa określonych w definicji L22


Ponieważ Baillie i Wagstaff określili metodę zaproponowaną przez Selfridge'a jako metodę A, to pozostaniemy przy tej nazwie. Korzystając ze wzoru rekurencyjnego

[math]\displaystyle{ a_{k+1} = \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]\displaystyle{ P, Q }[/math] według tej metody.

MethodA(m) = 
{
local(a, js);
a = 5;
while( 1,
       js = jacobi(a, m);
       if( js == 0  &&  a % m <> 0, return([0, 0]) );
       if( js == -1, return([1, (1 - a)/4]) );
       a = -a - 2*sign(a);
     );
}

Wyjaśnienia wymaga druga linia kodu w pętli while. Wiemy, że (zobacz J42)

[math]\displaystyle{ (a \mid m) = 0 \quad \qquad \Longleftrightarrow \quad \qquad \gcd (a, m) \gt 1 }[/math]

Jednak z faktu, że [math]\displaystyle{ \gcd (a, m) \gt 1 }[/math] nie wynika natychmiast, że liczba [math]\displaystyle{ m }[/math] jest liczbą złożoną. Rozważmy dwa przypadki: gdy [math]\displaystyle{ m \mid a }[/math] i [math]\displaystyle{ m \nmid a }[/math].

Gdy [math]\displaystyle{ \gcd (a, m) \gt 1 }[/math] i [math]\displaystyle{ m \mid a }[/math], to [math]\displaystyle{ \gcd (a, m) = \gcd (k \cdot m, m) = m \gt 1 }[/math] i nie jesteśmy w stanie rozstrzygnąć, czy liczba [math]\displaystyle{ m }[/math] jest liczbą pierwszą, czy złożoną. Widać to dobrze na prostych przykładach

[math]\displaystyle{ \gcd (7, 7) = \gcd (14, 7) = 7 \gt 1 }[/math]
[math]\displaystyle{ \gcd (15, 15) = \gcd (30, 15) = 15 \gt 1 }[/math]

Gdy [math]\displaystyle{ \gcd (a, m) \gt 1 }[/math] i [math]\displaystyle{ m \nmid a }[/math], to [math]\displaystyle{ m }[/math] jest liczbą złożoną. Ponieważ [math]\displaystyle{ m \nmid a }[/math], to [math]\displaystyle{ a = k \cdot m + r }[/math], gdzie [math]\displaystyle{ r \in [1, m - 1] }[/math]. Mamy

[math]\displaystyle{ \gcd (a, m) = \gcd (k \cdot m + r, m) = \gcd (r, m) = d }[/math]

Musi być [math]\displaystyle{ d \gt 1 }[/math], bo założyliśmy, że [math]\displaystyle{ \gcd (a, m) \gt 1 }[/math] i musi być [math]\displaystyle{ d \lt m }[/math], bo [math]\displaystyle{ d \leqslant r \leqslant m - 1 }[/math]. Zatem [math]\displaystyle{ d }[/math] jest dzielnikiem nietrywialnym liczby [math]\displaystyle{ m }[/math] i [math]\displaystyle{ m }[/math] jest liczbą złożoną.

Omawiana linia kodu zapewnia wysłanie informacji o tym, że liczba [math]\displaystyle{ m }[/math] jest liczbą złożoną (zwrot wektora [0, 0]). W przypadku, gdy nie mamy takiej pewności, kontynuujemy szukanie liczby [math]\displaystyle{ a }[/math], takiej że [math]\displaystyle{ (a \mid m) = - 1 }[/math], pozostawiając zbadanie pierwszości liczby [math]\displaystyle{ m }[/math] na kolejnym etapie testowania.


Uważny Czytelnik dostrzeże, że nie zbadaliśmy, czy spełniony jest warunek [math]\displaystyle{ \gcd (m, Q) = 1 }[/math]. Nie musimy tego robić, bo zwracana przez funkcję MethodA() liczba [math]\displaystyle{ Q }[/math] jest względnie pierwsza z [math]\displaystyle{ m }[/math]. Omówimy ten problem dokładnie w zadaniu L30. Poniżej pokażemy, że nawet gdyby było [math]\displaystyle{ \gcd (m, Q) \gt 1 }[/math], to złożona liczba [math]\displaystyle{ m }[/math] nie zostanie uznana za liczbę pseudopierwszą Lucasa.

Zauważmy, że jeżeli [math]\displaystyle{ m }[/math] jest liczbą złożoną i ma dzielnik pierwszy [math]\displaystyle{ p \lt m }[/math], który dzieli [math]\displaystyle{ Q }[/math], to [math]\displaystyle{ p \mid Q }[/math] i [math]\displaystyle{ p \nmid P }[/math] (bo [math]\displaystyle{ P = 1 }[/math]), zatem [math]\displaystyle{ p \nmid U_k }[/math] dla [math]\displaystyle{ k \geqslant 1 }[/math] (zobacz L17), czyli nie może być

[math]\displaystyle{ U_{m + 1} (1, Q) \equiv 0 \pmod{m} }[/math]

bo mielibyśmy

[math]\displaystyle{ U_{m + 1} (1, Q) \equiv 0 \pmod{p} }[/math]

a to jest niemożliwe. Zatem program wykorzystujący twierdzenie L20 wykryje złożoność liczby [math]\displaystyle{ m }[/math].

Łatwo pokażemy, że nie jest możliwe, aby liczba [math]\displaystyle{ m }[/math] była liczbą pierwszą i była dzielnikiem [math]\displaystyle{ Q }[/math]. Jeżeli [math]\displaystyle{ m }[/math] jest liczbą pierwszą, to istnieje dokładnie [math]\displaystyle{ \tfrac{m - 1}{2} }[/math] liczb kwadratowych modulo [math]\displaystyle{ p }[/math] i [math]\displaystyle{ \tfrac{m - 1}{2} }[/math] liczb niekwadratowych modulo [math]\displaystyle{ p }[/math], zatem rozpoczynając od wyrazu [math]\displaystyle{ a_2 }[/math] możemy dojść co najwyżej do wyrazu o indeksie [math]\displaystyle{ k = \tfrac{m - 1}{2} + 2 }[/math], czyli

[math]\displaystyle{ | a_k | \leqslant m + 4 }[/math]

Skąd wynika, że

[math]\displaystyle{ | Q | = \left| {\small\frac{1 - a_k}{4}} \right| \leqslant {\small\frac{m + 5}{4}} \lt m }[/math]

Ostatnia nierówność jest prawdziwa dla [math]\displaystyle{ m \gt {\small\frac{5}{3}} }[/math], czyli dla wszystkich liczb pierwszych. Ponieważ [math]\displaystyle{ | Q | \lt m }[/math], w przypadku gdy [math]\displaystyle{ m }[/math] jest liczbą pierwszą, to [math]\displaystyle{ m }[/math] nie może być dzielnikiem liczby [math]\displaystyle{ Q }[/math].


Zadanie L30
Pokazać, że w przypadku, gdy dla kolejnych liczb [math]\displaystyle{ a_k = (- 1)^k (2 k + 1) }[/math] sprawdzamy, czy konsekwencją [math]\displaystyle{ (a_k \mid m) = 0 }[/math] jest złożoność liczby [math]\displaystyle{ m }[/math], to dla każdej liczby [math]\displaystyle{ Q }[/math] wyznaczonej metodą Selfridge'a jest [math]\displaystyle{ \gcd (Q, m) = 1 }[/math].

Rozwiązanie

Niech [math]\displaystyle{ m = 21 }[/math]. Rozpoczniemy od przykładu liczb [math]\displaystyle{ a_k = (- 1)^k (2 k + 1) }[/math] dla [math]\displaystyle{ k = 0, 1, \ldots, m - 1 }[/math].

Zauważmy, że modulo [math]\displaystyle{ 21 }[/math] ciąg [math]\displaystyle{ (a_k) = (1, - 3, 5, - 7, \ldots, 37, - 39, 41) }[/math] jest identyczny z ciągiem [math]\displaystyle{ (0, 1, 2, \ldots, 19, 20) }[/math], a ciąg [math]\displaystyle{ (| a_k |) }[/math] to kolejne liczby nieparzyste od [math]\displaystyle{ 1 }[/math] do [math]\displaystyle{ 2 m - 1 }[/math].


Poniżej pokażemy, dlaczego musi być [math]\displaystyle{ \gcd (Q, m) = 1 }[/math], gdzie [math]\displaystyle{ Q }[/math] jest liczbą wyznaczoną metodą Selfridge'a (o ile sprawdzana jest złożoność liczby [math]\displaystyle{ m }[/math] przy testowaniu kolejnych liczb [math]\displaystyle{ a_k }[/math]). Pogrubioną czcionką zaznaczone są symbole Jacobiego, które wykryły złożoność liczby [math]\displaystyle{ m }[/math]. Gdyby nie była badana złożoność, to wyliczona zostałaby wartość [math]\displaystyle{ Q }[/math] na podstawie innego wyrazu ciągu [math]\displaystyle{ a_k }[/math] (ten symbol Jacobiego został zapisany zwykłą czcionką).

[math]\displaystyle{ m = 3 , \;\; (5 \mid 3) = - 1 , \;\; Q = - 1 , \;\; \gcd (m, Q) = 1 }[/math]
[math]\displaystyle{ m = 5 , \;\; (5 \mid 5) = 0 , \;\; (- 7 \mid 5) = - 1 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1 \;\; }[/math] (zauważmy, że [math]\displaystyle{ (5 \mid 5) = 0 }[/math] nie pozwala wnioskować o złożoności)
[math]\displaystyle{ m = 7 , \;\; (5 \mid 7) = - 1 , \;\; Q = - 1 , \;\; \gcd (m, Q) = 1 }[/math]
[math]\displaystyle{ m = 9 , \;\; }[/math] (liczba kwadratowa)
[math]\displaystyle{ m = 11 , \;\; (- 11 \mid 11) = 0 , \;\; (13 \mid 11) = - 1 , \;\; Q = - 3 , \;\; \gcd (m, Q) = 1 \;\; }[/math] (zauważmy, że [math]\displaystyle{ (- 11 \mid 11) = 0 }[/math] nie pozwala wnioskować o złożoności)
[math]\displaystyle{ m = 13 , \;\; (5 \mid 13) = - 1 , \;\; Q = - 1 , \;\; \gcd (m, Q) = 1 }[/math]
[math]\displaystyle{ m = 15 , \;\; \boldsymbol{(5 \mid 15) = 0} , \;\; (13 \mid 15) = - 1 , \;\; Q = - 3 , \;\; \gcd (m, Q) = 3 \;\; }[/math] (gdyby nie zbadano złożoności)
[math]\displaystyle{ m = 17 , \;\; (5 \mid 17) = - 1 , \;\; Q = - 1 , \;\; \gcd (m, Q) = 1 }[/math]
[math]\displaystyle{ m = 19 , \;\; (- 7 \mid 19) = - 1 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1 }[/math]
[math]\displaystyle{ m = 21 , \;\; \boldsymbol{(- 7 \mid 21) = 0} , \;\; (- 11 \mid 21) = - 1 , \;\; Q = 3 , \;\; \gcd (m, Q) = 3 \;\; }[/math] (gdyby nie zbadano złożoności)


Niech [math]\displaystyle{ m \geqslant 23 }[/math]. Wiemy, że w ciągu [math]\displaystyle{ (5, - 7, 9, \ldots, \pm m, \mp (m + 2), \ldots, - (2 m - 3), 2 m - 1) }[/math] wystąpią liczby [math]\displaystyle{ a_k }[/math] takie, że [math]\displaystyle{ (a_k \mid m) = - 1 }[/math]. Warunek [math]\displaystyle{ (a_k \mid m) = 0 }[/math] oznacza, że [math]\displaystyle{ (2 k + 1 \mid m) = 0 }[/math], bo

[math]\displaystyle{ (a_k \mid m) = ((- 1)^k (2 k + 1) \mid m) = ((- 1)^k \mid m) \cdot (2 k + 1 \mid m) = (- 1 \mid m)^k \cdot (2 k + 1 \mid m) = \pm (2 k + 1 \mid m) }[/math]

Jeżeli będą spełnione warunki [math]\displaystyle{ (a_k \mid m) = 0 }[/math] i [math]\displaystyle{ R_m (a_k) \neq 0 }[/math], to liczba [math]\displaystyle{ m }[/math] będzie liczbą złożoną.

Wypiszmy kolejne próby dla [math]\displaystyle{ m \geqslant 23 }[/math]. Liczba [math]\displaystyle{ r }[/math] jest numerem próby.

[math]\displaystyle{ r = 1 , \;\; a_{r + 1} = 5 }[/math]
●    [math]\displaystyle{ (5 \mid m) = 1 }[/math] [math]\displaystyle{ 5 \nmid m \quad }[/math] przechodzimy do kolejnego wyrazu ciągu [math]\displaystyle{ (a_k) }[/math]
●    [math]\displaystyle{ (5 \mid m) = 0 }[/math] [math]\displaystyle{ 5 \mid m }[/math] koniec
●    [math]\displaystyle{ (5 \mid m) = - 1 \quad }[/math] [math]\displaystyle{ 5 \nmid m }[/math] [math]\displaystyle{ D = 5 , \;\; Q = - 1 , \;\; \gcd (m, Q) = 1 , \;\; }[/math] koniec
[math]\displaystyle{ r = 2 , \;\; a_{r + 1} = - 7 }[/math]
●    [math]\displaystyle{ (- 7 \mid m) = 1 }[/math] [math]\displaystyle{ 7 \nmid m \quad }[/math] przechodzimy do kolejnego wyrazu ciągu [math]\displaystyle{ (a_k) }[/math]
●    [math]\displaystyle{ (- 7 \mid m) = 0 }[/math] [math]\displaystyle{ 7 \mid m }[/math] koniec
●    [math]\displaystyle{ (- 7 \mid m) = - 1 \quad }[/math] [math]\displaystyle{ 7 \nmid m }[/math] [math]\displaystyle{ D = -7 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1 , \;\; }[/math] koniec
[math]\displaystyle{ r = 3 }[/math], [math]\displaystyle{ a_{r + 1} = 9 }[/math]
●    [math]\displaystyle{ (9 \mid m) = 1 }[/math] [math]\displaystyle{ 3 \nmid m \quad }[/math] przechodzimy do kolejnego wyrazu ciągu [math]\displaystyle{ (a_k) }[/math]
●    [math]\displaystyle{ (9 \mid m) = 0 }[/math] [math]\displaystyle{ 3 \mid m }[/math] koniec
●    [math]\displaystyle{ (9 \mid m) \neq - 1 \quad }[/math] - - - - bo [math]\displaystyle{ 9 }[/math] jest liczbą kwadratową


Po wykonaniu trzech prób niezakończonych sukcesem (tzn. wykryciem złożoności [math]\displaystyle{ m }[/math] lub ustaleniem wartości liczb [math]\displaystyle{ D }[/math] i [math]\displaystyle{ Q }[/math]) wiemy, że [math]\displaystyle{ m }[/math] nie jest podzielna przez żadną z liczb pierwszych [math]\displaystyle{ p = 3, 5, 7 }[/math].

[math]\displaystyle{ r }[/math]-ta próba, gdzie [math]\displaystyle{ r \geqslant 4 , \;\; }[/math] wyraz [math]\displaystyle{ a_{r + 1} }[/math]
●    [math]\displaystyle{ (a_{r + 1} \mid m) = 1 }[/math] żadna liczba pierwsza [math]\displaystyle{ p \leqslant | a_{r + 1} | = 2 r + 3 }[/math] nie dzieli liczby [math]\displaystyle{ m \quad }[/math]     przechodzimy do kolejnego wyrazu ciągu [math]\displaystyle{ (a_k) }[/math]
●    [math]\displaystyle{ (a_{r + 1} \mid m) = 0 }[/math] A. jeżeli [math]\displaystyle{ m \mid a_{r + 1} }[/math]( * )
B. jeżeli [math]\displaystyle{ m \nmid a_{r + 1} }[/math]
A. przechodzimy do kolejnego wyrazu ciągu [math]\displaystyle{ (a_k) }[/math]
B. [math]\displaystyle{ a_{r + 1} \mid m }[/math]( ** ), koniec
●    [math]\displaystyle{ (a_{r + 1} \mid m) = - 1 \quad }[/math] żadna liczba pierwsza [math]\displaystyle{ p \leqslant | a_{r + 1} | = 2 r + 3 }[/math] nie dzieli liczby [math]\displaystyle{ m \quad }[/math]     [math]\displaystyle{ D = a_{r + 1} }[/math], [math]\displaystyle{ Q = {\small\frac{1 - a_{r + 1}}{4}} }[/math], koniec

( * ) jest to możliwe tylko dla [math]\displaystyle{ a_{r + 1} = a_{(m - 1) / 2} = m }[/math]

( ** ) zauważmy, że jeżeli [math]\displaystyle{ m \nmid a_{r + 1} }[/math], to [math]\displaystyle{ \gcd (a_{r + 1}, m) = | a_{r + 1} | }[/math], bo gdyby liczba [math]\displaystyle{ | a_{r + 1} | }[/math] była liczbą złożoną, to żaden z jej dzielników pierwszych nie dzieliłby liczby [math]\displaystyle{ m }[/math]


Jeżeli nie została wykryta złożoność liczby [math]\displaystyle{ m }[/math], to żadna z liczb pierwszych [math]\displaystyle{ p \leqslant | a_{r + 1} | = 2 r + 3 }[/math] nie dzieli liczby [math]\displaystyle{ m }[/math]. Zatem [math]\displaystyle{ \gcd (Q, m) \gt 1 }[/math] może być tylko w przypadku, gdy pewna liczba pierwsza [math]\displaystyle{ q \geqslant 2 r + 5 }[/math] będzie wspólnym dzielnikiem liczb [math]\displaystyle{ Q }[/math] i [math]\displaystyle{ m }[/math], ale jest to niemożliwe, bo

[math]\displaystyle{ | Q | = \left| {\small\frac{1 - a_{r + 1}}{4}} \right| \leqslant {\small\frac{| a_{r + 1} | + 1}{4}} = {\small\frac{2 r + 4}{4}} \lt 2 r + 5 \leqslant q }[/math]

Przedostatnia (ostra) nierówność jest prawdziwa dla wszystkich [math]\displaystyle{ r }[/math] naturalnych.


Zadanie L31
Zmodyfikujmy metodę Selfridge'a w taki sposób, że będziemy rozpoczynali próby nie od wyrazu [math]\displaystyle{ a_2 = 5 }[/math], ale od wyrazu [math]\displaystyle{ a_3 = - 7 }[/math]. Pokazać, że w przypadku, gdy dla kolejnych liczb [math]\displaystyle{ a_k = (- 1)^k (2 k + 1) }[/math] sprawdzamy, czy konsekwencją [math]\displaystyle{ (a_k \mid m) = 0 }[/math] jest złożoność liczby [math]\displaystyle{ m }[/math], to dla każdej liczby [math]\displaystyle{ Q }[/math] wyznaczonej tak zmodyfikowaną metodą Selfridge'a jest [math]\displaystyle{ \gcd (Q, m) = 1 }[/math].

Rozwiązanie

Poniżej pokażemy, dlaczego musi być [math]\displaystyle{ \gcd (Q, m) = 1 }[/math], gdzie [math]\displaystyle{ Q }[/math] jest liczbą wyznaczoną zmodyfikowaną metodą Selfridge'a (o ile sprawdzana jest złożoność liczby [math]\displaystyle{ m }[/math] przy testowaniu kolejnych liczb [math]\displaystyle{ a_k }[/math]). Pogrubioną czcionką zaznaczone są symbole Jacobiego, które wykryły złożoność liczby [math]\displaystyle{ m }[/math]. Gdyby nie była badana złożoność, to wyliczona zostałaby wartość [math]\displaystyle{ Q }[/math] na podstawie innego wyrazu ciągu [math]\displaystyle{ a_k }[/math] (ten symbol Jacobiego został zapisany zwykłą czcionką).

[math]\displaystyle{ m = 3 , \;\; (- 7 \mid 3) = - 1 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1 }[/math]
[math]\displaystyle{ m = 5 , \;\; (- 7 \mid 5) = - 1 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1 }[/math]
[math]\displaystyle{ m = 7 , \;\; (- 7 \mid 7) = 0 , \;\; (- 11 \mid 7) = - 1 , \;\; Q = 3 , \;\; \gcd (m, Q) = 1 }[/math] (zauważmy, że [math]\displaystyle{ (- 7 \mid 7) = 0 }[/math] nie pozwala wnioskować o złożoności)
[math]\displaystyle{ m = 9 , \;\; }[/math] (liczba kwadratowa)
[math]\displaystyle{ m = 11 , \;\; (- 11 \mid 11) = 0 , \;\; (13 \mid 11) = - 1 , \;\; Q = - 3 , \;\; \gcd (m, Q) = 1 \;\; }[/math] (zauważmy, że [math]\displaystyle{ (- 11 \mid 11) = 0 }[/math] nie pozwala wnioskować o złożoności)
[math]\displaystyle{ m = 13 , \;\; (- 7 \mid 13) = - 1 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1 }[/math]
[math]\displaystyle{ m = 15 , \;\; \boldsymbol{(9 \mid 15) = 0} , \;\; (13 \mid 15) = - 1 , \;\; Q = - 3 , \;\; \gcd (m, Q) = 3 \;\; }[/math] (gdyby nie zbadano złożoności)
[math]\displaystyle{ m = 17 , \;\; (- 7 \mid 17) = - 1 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1 }[/math]
[math]\displaystyle{ m = 19 , \;\; (- 7 \mid 19) = - 1 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1 }[/math]
[math]\displaystyle{ m = 21 , \;\; \boldsymbol{(- 7 \mid 21) = 0} , \;\; (- 11 \mid 21) = - 1 , \;\; Q = 3 , \;\; \gcd (m, Q) = 3 \;\; }[/math] (gdyby nie zbadano złożoności)


Niech [math]\displaystyle{ m \geqslant 23 }[/math]. Wiemy, że w ciągu [math]\displaystyle{ ( - 7, 9, \ldots, \pm m, \mp (m + 2), \ldots, - (2 m - 3), 2 m - 1) }[/math] wystąpią liczby [math]\displaystyle{ a_k }[/math] takie, że [math]\displaystyle{ (a_k \mid m) = - 1 }[/math]. Warunek [math]\displaystyle{ (a_k \mid m) = 0 }[/math] oznacza, że [math]\displaystyle{ (2 k + 1 \mid m) = 0 }[/math], bo

[math]\displaystyle{ (a_k \mid m) = ((- 1)^k (2 k + 1) \mid m) = ((- 1)^k \mid m) \cdot (2 k + 1 \mid m) = (- 1 \mid m)^k \cdot (2 k + 1 \mid m) = \pm (2 k + 1 \mid m) }[/math]

Jeżeli będą spełnione warunki [math]\displaystyle{ (a_k \mid m) = 0 }[/math] i [math]\displaystyle{ R_m (a_k) \neq 0 }[/math], to liczba [math]\displaystyle{ m }[/math] będzie liczbą złożoną.

Wypiszmy kolejne próby dla [math]\displaystyle{ m \geqslant 23 }[/math]. Liczba [math]\displaystyle{ r }[/math] jest numerem próby.

[math]\displaystyle{ r = 1 , \;\; a_{r + 2} = - 7 }[/math]
●    [math]\displaystyle{ (- 7 \mid m) = 1 }[/math] [math]\displaystyle{ 7 \nmid m \quad }[/math] przechodzimy do kolejnego wyrazu ciągu [math]\displaystyle{ (a_k) }[/math]
●    [math]\displaystyle{ (- 7 \mid m) = 0 }[/math] [math]\displaystyle{ 7 \mid m }[/math] koniec
●    [math]\displaystyle{ (- 7 \mid m) = - 1 \quad }[/math] [math]\displaystyle{ 7 \nmid m }[/math] [math]\displaystyle{ D = - 7 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1 , \;\; }[/math] koniec
[math]\displaystyle{ r = 2 , \;\; a_{r + 2} = 9 }[/math]
●    [math]\displaystyle{ (9 \mid m) = 1 }[/math] [math]\displaystyle{ 3 \nmid m \quad }[/math] przechodzimy do kolejnego wyrazu ciągu [math]\displaystyle{ (a_k) }[/math]
●    [math]\displaystyle{ (9 \mid m) = 0 }[/math] [math]\displaystyle{ 3 \mid m }[/math] koniec
●    [math]\displaystyle{ (9 \mid m) \neq - 1 \quad }[/math] - - - - bo [math]\displaystyle{ 9 }[/math] jest liczbą kwadratową
[math]\displaystyle{ r = 3 , \;\; a_{r + 2} = - 11 }[/math]
●    [math]\displaystyle{ (- 11 \mid m) = 1 }[/math] [math]\displaystyle{ 11 \nmid m \quad }[/math] przechodzimy do kolejnego wyrazu ciągu [math]\displaystyle{ (a_k) }[/math]
●    [math]\displaystyle{ (- 11 \mid m) = 0 }[/math] [math]\displaystyle{ 11 \mid m }[/math] koniec
●    [math]\displaystyle{ (- 11 \mid m) = - 1 \quad }[/math] [math]\displaystyle{ 11 \nmid m }[/math] [math]\displaystyle{ D = - 11 , \;\; Q = 3 , \;\; \gcd (m, Q) = 1 , \;\; }[/math] koniec (bo liczby złożone [math]\displaystyle{ m = 3 k }[/math] zostały usunięte w poprzedniej próbie, [math]\displaystyle{ r = 2 }[/math])
[math]\displaystyle{ r = 4 , \;\; a_{r + 2} = 13 }[/math]
●    [math]\displaystyle{ (13 \mid m) = 1 }[/math] [math]\displaystyle{ 13 \nmid m \quad }[/math] przechodzimy do kolejnego wyrazu ciągu [math]\displaystyle{ (a_k) }[/math]
●    [math]\displaystyle{ (13 \mid m) = 0 }[/math] [math]\displaystyle{ 13 \mid m }[/math] koniec
●    [math]\displaystyle{ (13 \mid m) = - 1 \quad }[/math] [math]\displaystyle{ 13 \nmid m }[/math] [math]\displaystyle{ D = 13 , \;\; Q = - 3 , \;\; \gcd (m, Q) = 1 , \;\; }[/math] koniec (bo liczby złożone [math]\displaystyle{ m = 3 k }[/math] zostały usunięte w próbie o numerze [math]\displaystyle{ r = 2 }[/math])
[math]\displaystyle{ r = 5 , \;\; a_{r + 2} = - 15 }[/math]
●    [math]\displaystyle{ (- 15 \mid m) = 1 }[/math] [math]\displaystyle{ 5 \nmid m \quad }[/math] przechodzimy do kolejnego wyrazu ciągu [math]\displaystyle{ (a_k) }[/math]
●    [math]\displaystyle{ (- 15 \mid m) = 0 }[/math] [math]\displaystyle{ 5 \mid m }[/math] koniec
●    [math]\displaystyle{ (- 15 \mid m) = - 1 \quad }[/math] [math]\displaystyle{ 5 \nmid m }[/math] [math]\displaystyle{ 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]\displaystyle{ m }[/math] lub ustaleniem wartości liczb [math]\displaystyle{ D }[/math] i [math]\displaystyle{ Q }[/math]) wiemy, że [math]\displaystyle{ m }[/math] nie jest podzielna przez żadną z liczb pierwszych [math]\displaystyle{ p = 3, 5, 7, 11, 13 }[/math].

[math]\displaystyle{ r }[/math]-ta próba, gdzie [math]\displaystyle{ r \geqslant 6 , \;\; }[/math] wyraz [math]\displaystyle{ a_{r + 2} }[/math]
●    [math]\displaystyle{ (a_{r + 2} \mid m) = 1 }[/math] żadna liczba pierwsza [math]\displaystyle{ p \leqslant | a_{r + 2} | = 2 r + 5 }[/math] nie dzieli liczby [math]\displaystyle{ m \quad }[/math]     przechodzimy do kolejnego wyrazu ciągu [math]\displaystyle{ (a_k) }[/math]
●    [math]\displaystyle{ (a_{r + 2} \mid m) = 0 }[/math] A. jeżeli [math]\displaystyle{ m \mid a_{r + 2} }[/math]( * )
B. jeżeli [math]\displaystyle{ m \nmid a_{r + 2} }[/math]
A. przechodzimy do kolejnego wyrazu ciągu [math]\displaystyle{ (a_k) }[/math]
B. [math]\displaystyle{ a_{r + 1} \mid m }[/math]( ** ), koniec
●    [math]\displaystyle{ (a_{r + 2} \mid m) = - 1 \quad }[/math] żadna liczba pierwsza [math]\displaystyle{ p \leqslant | a_{r + 2} | = 2 r + 5 }[/math] nie dzieli liczby [math]\displaystyle{ m \quad }[/math]     [math]\displaystyle{ D = a_{r + 2} }[/math], [math]\displaystyle{ Q = {\small\frac{1 - a_{r + 2}}{4}} }[/math], koniec

( * ) jest to możliwe tylko dla [math]\displaystyle{ a_{r + 2} = a_{(m - 1) / 2} = m }[/math]

( ** ) zauważmy, że jeżeli [math]\displaystyle{ m \nmid a_{r + 2} }[/math], to [math]\displaystyle{ \gcd (a_{r + 2}, m) = | a_{r + 2} | }[/math], bo gdyby liczba [math]\displaystyle{ | a_{r + 2} | }[/math] była liczbą złożoną, to żaden z jej dzielników pierwszych nie dzieliłby liczby [math]\displaystyle{ m }[/math]


Jeżeli nie została wykryta złożoność liczby [math]\displaystyle{ m }[/math], to żadna z liczb pierwszych [math]\displaystyle{ p \leqslant | a_{r + 2} | = 2 r + 5 }[/math] nie dzieli liczby [math]\displaystyle{ m }[/math]. Zatem [math]\displaystyle{ \gcd (Q, m) \gt 1 }[/math] może być tylko w przypadku, gdy pewna liczba pierwsza [math]\displaystyle{ q \geqslant 2 r + 7 }[/math] będzie wspólnym dzielnikiem liczb [math]\displaystyle{ Q }[/math] i [math]\displaystyle{ m }[/math], ale jest to niemożliwe, bo

[math]\displaystyle{ | Q | = \left| {\small\frac{1 - a_{r + 2}}{4}} \right| \leqslant {\small\frac{| a_{r + 2} | + 1}{4}} = {\small\frac{2 r + 6}{4}} \lt 2 r + 7 \leqslant q }[/math]

Przedostatnia (ostra) nierówność jest prawdziwa dla wszystkich [math]\displaystyle{ r }[/math] naturalnych.


Uwaga L32
Przyjmując metodę Selfridge'a wyboru parametrów [math]\displaystyle{ P, Q }[/math] dla testu Lucasa, możemy łatwo napisać odpowiedni program w PARI/GP testujący pierwszość liczb

LucasTest(m) = 
{
local(P, Q, X);
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) );
}


Uwaga L33
Najmniejsze liczby pseudopierwsze Lucasa, które pojawiają się przy zastosowaniu metody Selfridge'a wyboru parametrów [math]\displaystyle{ P }[/math] i [math]\displaystyle{ Q }[/math], to

[math]\displaystyle{ 323, 377, 1159, 1829, 3827, 5459, 5777, 9071, 9179, 10877, 11419, 11663, 13919, 14839, 16109, 16211, 18407, 18971, 19043, 22499, \ldots }[/math]
Pokaż kod
forstep(k=1, 3*10^4, 2, if( LucasTest(k) && !isprime(k), print(k)) )



Tabela przedstawia ilość takich liczb nie większych od [math]\displaystyle{ 10^n }[/math]

Pokaż kod
for(n=3, 9, s=0; forstep(k = 1, 10^n, 2, if( LucasTest(k) && !isprime(k), s++ ) ); print("n= ", n, "   ", s) )




Liczby silnie pseudopierwsze Lucasa

Twierdzenie L34
Jeżeli [math]\displaystyle{ p }[/math] jest liczbą pierwszą nieparzystą taką, że [math]\displaystyle{ \gcd (p, Q D) = 1 }[/math] oraz [math]\displaystyle{ p - (D \mid p) = 2^r w }[/math], gdzie [math]\displaystyle{ w }[/math] jest liczbą nieparzystą, to spełniony jest dokładnie jeden z warunków

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

lub

[math]\displaystyle{ V_{2^k w} \equiv 0 \pmod{p} \qquad }[/math] dla pewnego [math]\displaystyle{ k \in [0, r - 1] }[/math]
Dowód

Wiemy (zobacz L20), że jeżeli [math]\displaystyle{ p }[/math] jest liczbą pierwszą nieparzystą taką, że [math]\displaystyle{ \gcd (p, Q D) = 1 }[/math], to [math]\displaystyle{ p \mid U_{p - (D \mid p)} }[/math]. Z założenia jest [math]\displaystyle{ p - (D \mid p) = 2^r w }[/math], zatem [math]\displaystyle{ p \mid U_{2^r w} }[/math]. Ponieważ założyliśmy, że [math]\displaystyle{ p \nmid Q }[/math] i [math]\displaystyle{ p \nmid D }[/math], to ze wzoru [math]\displaystyle{ V^2_n - D U^2_n = 4 Q^n }[/math] (zobacz L13 p.14) wynika natychmiast, że [math]\displaystyle{ p }[/math] nie może dzielić jednocześnie liczb [math]\displaystyle{ U_n }[/math] i [math]\displaystyle{ V_n }[/math].

Korzystając ze wzoru [math]\displaystyle{ U_{2 n} = U_n V_n }[/math] (zobacz L13 p.11), otrzymujemy

●    [math]\displaystyle{ p \mid U_{2^r w} \;\; \Longleftrightarrow \;\; p \mid U_{2^{r - 1} w} \cdot V_{2^{r - 1} w} \quad }[/math] Jeżeli [math]\displaystyle{ p \mid V_{2^{r - 1} w} }[/math], to twierdzenie jest dowiedzione. Jeżeli [math]\displaystyle{ p \nmid V_{2^{r - 1} w} }[/math], to [math]\displaystyle{ p \mid U_{2^{r - 1} w} }[/math].
●    [math]\displaystyle{ p \mid U_{2^{r - 1} w} \;\; \Longleftrightarrow \;\; p \mid U_{2^{r - 2} w} \cdot V_{2^{r - 2} w} \quad }[/math] Jeżeli [math]\displaystyle{ p \mid V_{2^{r - 2} w} }[/math], to twierdzenie jest dowiedzione. Jeżeli [math]\displaystyle{ p \nmid V_{2^{r - 2} w} }[/math], to [math]\displaystyle{ p \mid U_{2^{r - 2} w} }[/math].
●    [math]\displaystyle{ ................. }[/math]
●    [math]\displaystyle{ p \mid U_{4 w} \;\; \Longleftrightarrow \;\; p \mid U_{2 w} \cdot V_{2 w} }[/math] Jeżeli [math]\displaystyle{ p \mid V_{2 w} }[/math], to twierdzenie jest dowiedzione. Jeżeli [math]\displaystyle{ p \nmid V_{2 w} }[/math], to [math]\displaystyle{ p \mid U_{2 w} }[/math].
●    [math]\displaystyle{ p \mid U_{2 w} \;\; \Longleftrightarrow \;\; p \mid U_w \cdot V_w }[/math] Jeżeli [math]\displaystyle{ p \mid V_w }[/math], to twierdzenie jest dowiedzione. Jeżeli [math]\displaystyle{ p \nmid V_w }[/math], to [math]\displaystyle{ p \mid U_w }[/math].

Z powyższego wynika, że musi być spełniony jeden z wypisanych w twierdzeniu warunków.


Zauważmy teraz, że jeżeli liczba pierwsza [math]\displaystyle{ p }[/math] dzieli [math]\displaystyle{ V_w }[/math], to [math]\displaystyle{ p \nmid U_w }[/math], bo [math]\displaystyle{ p }[/math] nie może jednocześnie być dzielnikiem liczb [math]\displaystyle{ U_w }[/math] i [math]\displaystyle{ V_w }[/math].

Zauważmy też, że jeżeli dla pewnego [math]\displaystyle{ k \in [1, r - 1] }[/math] liczba pierwsza [math]\displaystyle{ p }[/math] dzieli [math]\displaystyle{ V_{2^k w} }[/math], to [math]\displaystyle{ p }[/math] nie dzieli żadnej liczby [math]\displaystyle{ V_{2^j w} }[/math] dla [math]\displaystyle{ j \in [0, k - 1] \;\; \text{i} \;\; p \nmid U_w }[/math]. Istotnie:

●    jeżeli [math]\displaystyle{ p \mid V_{2^k w} }[/math], to [math]\displaystyle{ 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]\displaystyle{ p }[/math] nie może być dzielnikiem żadnej z liczb [math]\displaystyle{ U_{2^{k - 1} w} \;\; \text{i} \;\; V_{2^{k - 1} w} }[/math]
●    jeżeli [math]\displaystyle{ 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]\displaystyle{ p }[/math] nie może być dzielnikiem żadnej z liczb [math]\displaystyle{ U_{2^{k - 2} w} \;\; \text{i} \;\; V_{2^{k - 2} w} }[/math]
●    [math]\displaystyle{ ................. }[/math]
●    jeżeli [math]\displaystyle{ p \nmid U_{4 w} \;\; \text{i} \;\; U_{4 w} = U_{2 w} V_{2 w} }[/math], to [math]\displaystyle{ p }[/math] nie może być dzielnikiem żadnej z liczb [math]\displaystyle{ U_{2 w} \;\; \text{i} \;\; V_{2 w} }[/math]
●    jeżeli [math]\displaystyle{ p \nmid U_{2 w} \;\; \text{i} \;\; U_{2 w} = U_w V_w }[/math], to [math]\displaystyle{ p }[/math] nie może być dzielnikiem żadnej z liczb [math]\displaystyle{ U_w \;\; \text{i} \;\; V_w }[/math]


Co dowodzi, że spełniony jest dokładnie jeden z [math]\displaystyle{ r + 1 }[/math] warunków:

[math]\displaystyle{ U_w \equiv 0 \pmod{p} }[/math]
[math]\displaystyle{ V_{2^k w} \equiv 0 \pmod{p} \qquad }[/math] gdzie [math]\displaystyle{ k \in [0, r - 1] }[/math]

Co należało pokazać.


Konsekwentnie definiujemy liczby pseudopierwsze
Definicja L35
Powiemy, że liczba złożona nieparzysta [math]\displaystyle{ m }[/math] jest liczbą silnie pseudopierwszą Lucasa (SLPSP) dla parametrów [math]\displaystyle{ P }[/math] i [math]\displaystyle{ Q }[/math], jeżeli [math]\displaystyle{ \gcd (m, Q D) = 1 }[/math] oraz [math]\displaystyle{ m - (D \mid m) = 2^r w }[/math], gdzie [math]\displaystyle{ w }[/math] jest liczbą nieparzystą i spełniony jest jeden z warunków

[math]\displaystyle{ U_w \equiv 0 \pmod{m} }[/math]

lub

[math]\displaystyle{ V_{2^k w} \equiv 0 \pmod{m} \; }[/math] dla pewnego [math]\displaystyle{ k \in [0, r - 1] }[/math]


Uwaga L36
Każda liczba SLPSP([math]\displaystyle{ P, Q }[/math]) jest LPSP([math]\displaystyle{ P, Q }[/math]). Korzystając ze zdefiniowanych wcześniej funkcji: modPower(a, n, m), jacobi(a, n) i modLucas(n, P, Q, m) (zobacz K2, J48, L15), możemy napisać prosty program, który sprawdza, czy liczba [math]\displaystyle{ m }[/math] spełnia jeden z warunków podanych w twierdzeniu L34.

isPrimeOrSLPSP(m, P, Q) = 
{
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);
}


Przykład L37
Poniższa tabela zawiera najmniejsze liczby silnie pseudopierwsze Lucasa dla różnych parametrów [math]\displaystyle{ P }[/math] i [math]\displaystyle{ Q }[/math]

Pokaż kod
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( isPrimeOrSLPSP(m, P, Q)  &&  !isprime(m), 
                         print("Q= ", Q, "   P= ", P, "   m= ", m, "   (D|m)= ", jacobi(D, m));
                         break();
                       );
                     m = m + 2;
                   );
           );
     );
}


Żółtym tłem oznaczyliśmy te najmniejsze liczby pseudopierwsze Lucasa, dla których [math]\displaystyle{ (D \mid m) = - 1 }[/math].


Przykład L38
Ilość liczb SLPSP([math]\displaystyle{ P, Q }[/math]) mniejszych od [math]\displaystyle{ 10^9 }[/math]


Pokaż kod
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( isPrimeOrSLPSP(m, P, Q)  &&  !isprime(m), s++ );
                     m = m + 2;
                   );
              print("Q= ", Q, "   P= ", P, "   s= ", s);
            );
     );
}



Uwaga L39
Można pokazać[2], że dla liczby złożonej nieparzystej [math]\displaystyle{ m \neq 9 }[/math] i ustalonego [math]\displaystyle{ D }[/math] ilość par [math]\displaystyle{ P, Q }[/math] takich, że

  • [math]\displaystyle{ 0 \leqslant P, Q \lt m }[/math]
  • [math]\displaystyle{ \gcd (Q, m) = 1 }[/math]
  • [math]\displaystyle{ P^2 - 4 Q \equiv D \pmod{m} }[/math]
  • [math]\displaystyle{ m }[/math] jest SLPSP([math]\displaystyle{ P, Q }[/math])

nie przekracza [math]\displaystyle{ \tfrac{4}{15} n }[/math].

Nie dotyczy to przypadku, gdy [math]\displaystyle{ m = p (p + 2) }[/math] jest iloczynem liczb pierwszych bliźniaczych takich, że [math]\displaystyle{ (D \mid p) = - (D \mid p + 2) = - 1 }[/math], wtedy mamy słabsze oszacowanie: [math]\displaystyle{ \# (P, Q) \leqslant \tfrac{1}{2} n }[/math]. Zauważmy, że taką sytuację łatwo wykryć, bo w tym przypadku [math]\displaystyle{ m + 1 = (p + 1)^2 }[/math] jest liczbą kwadratową.


Uwaga L40
Podobnie jak w przypadku liczb pseudopierwszych Lucasa LPSP([math]\displaystyle{ P, Q }[/math]) tak i w przypadku liczb silnie pseudopierwszych Lucasa SLPSP([math]\displaystyle{ P, Q }[/math]) możemy testować pierwszość liczby [math]\displaystyle{ m }[/math], wybierając liczby [math]\displaystyle{ P, Q }[/math] losowo lub zastosować wybraną metodę postępowania. Przedstawiony poniżej program, to zmodyfikowany kod z uwagi L36. Teraz parametry [math]\displaystyle{ P, Q }[/math] są wybierane metodą Selfridge'a, a symbol Jacobiego [math]\displaystyle{ (D \mid m) }[/math] jest równy [math]\displaystyle{ - 1 }[/math].

StrongLucasTest(m) =
{
local(a, b, c, k, P, Q, r, w, X);
if( m % 2 == 0, return(m == 2) );
if( issquare(m), return(0) ); \\ sprawdzamy, czy liczba m nie jest kwadratowa
X = MethodA(m);
P = X[1];
Q = X[2];
if( P == 0 || gcd(m, 2*Q) > 1, return(0) ); \\ jeżeli P = 0, to m jest liczbą złożoną
r = valuation(m + 1, 2); \\ znajdujemy wykładnik, z jakim liczba 2 występuje w m + 1
w = (m + 1) / 2^r;
X =  modLucas(w, P, Q, m);
a = X[1]; \\ U_w(P, Q) % m
b = X[2]; \\ V_w(P, Q) % m
if( a == 0 || b == 0, return(1) ); \\ b == 0 to przypadek k == 0
if( r == 1, return(0) ); \\ nie ma dalszych przypadków
c = modPower(Q, w, m); \\ Q^w % m
k = 0;
\\ sprawdzamy warunek V_(2^k * w) %m = 0; korzystamy ze wzoru V_(2*w) = (V_w)^2 - 2*Q^w
while( k++ < r,
       b = (b^2 - 2*c) % m;
       if( b == 0, return(1) );
       c = c^2 % m;
     );
return(0);
}


Uwaga L41
Najmniejsze liczby silnie pseudopierwsze Lucasa, które otrzymujemy po zastosowaniu metody Selfridge'a wyboru parametrów [math]\displaystyle{ P }[/math] i [math]\displaystyle{ Q }[/math], to

[math]\displaystyle{ 5459, 5777, 10877, 16109, 18971, 22499, 24569, 25199, 40309, 58519, 75077, 97439, \ldots }[/math]
Pokaż kod
forstep(k=1, 10^5, 2, if( StrongLucasTest(k) && !isprime(k), print(k)) )



Tabela przedstawia ilość takich liczb nie większych od [math]\displaystyle{ 10^n }[/math]

Pokaż kod
for(n=3, 9, s=0; forstep(k = 1, 10^n, 2, if( StrongLucasTest(k) && !isprime(k), s++ ) ); print("n=", n, "   ", s) )




Test BPSW

Uwaga L42
Jest [math]\displaystyle{ 488 }[/math] liczb SPSP([math]\displaystyle{ 2 }[/math]) mniejszych od [math]\displaystyle{ 10^8 }[/math] i są 582 liczby SPSP([math]\displaystyle{ 3 }[/math]) mniejsze od [math]\displaystyle{ 10^8 }[/math] (zobacz K20). Ale jest aż [math]\displaystyle{ 21 }[/math] liczb mniejszych od [math]\displaystyle{ 10^8 }[/math] silnie pseudopierwszych jednocześnie względem podstaw [math]\displaystyle{ 2 }[/math] i [math]\displaystyle{ 3 }[/math]:

[math]\displaystyle{ 1373653, 1530787, 1987021, 2284453, 3116107, 5173601, 6787327, 11541307, 13694761, 15978007, 16070429, }[/math]

[math]\displaystyle{ 16879501, 25326001, 27509653, 27664033, 28527049, 54029741, 61832377, 66096253, 74927161, 80375707 }[/math]

Pokaż kod
forstep(m=3, 10^8, 2, if( isPrimeOrSPSP(m, 2)  &&  isPrimeOrSPSP(m, 3)  &&  !isprime(m), print("m=", m) ) )


Widzimy, że prawdopodobieństwo błędnego rozpoznania pierwszości w przypadku liczb mniejszych od [math]\displaystyle{ 10^8 }[/math] dla podstaw [math]\displaystyle{ 2 }[/math] i [math]\displaystyle{ 3 }[/math] jest rzędu kilku milionowych. Gdyby prawdopodobieństwa błędnego rozpoznania pierwszości w przypadku podstaw [math]\displaystyle{ 2 }[/math] i [math]\displaystyle{ 3 }[/math] były niezależne, to spodziewalibyśmy się, że nie będzie wcale liczb mniejszych od [math]\displaystyle{ 10^8 }[/math] silnie pseudopierwszych jednocześnie względem podstaw [math]\displaystyle{ 2 }[/math] i [math]\displaystyle{ 3 }[/math], bo prawdopodobieństwo takiego zdarzenia byłoby równe kilkudziesięciu bilonowym. Ale tak nie jest.

Jest to mocny argument za tym, że zastosowanie różnych (niezależnych) testów może być znacznie silniejszym narzędziem do testowania pierwszości liczb, niż wielokrotne stosowanie tego samego testu, gdzie poszczególne próby są tylko pozornie niezależne.

Połączenie znanych nam już testów prowadzi do prostego programu

BPSWtest(m) =
{
forprime(p = 2, 1000, if( m % p > 0, next() ); if( m == p, return(1), return(0) ));
if( !isPrimeOrSPSP(m, 2), return(0) );
if( !StrongLucasTest(m), return(0), return(1) );
}


Funkcja BPSWtest(m) kolejno sprawdza:

  • czy liczba [math]\displaystyle{ m }[/math] jest podzielna przez niewielkie liczby pierwsze (w naszym przypadku mniejsze od [math]\displaystyle{ 1000 }[/math]); jeśli tak, to sprawdza, czy [math]\displaystyle{ m }[/math] jest liczbą pierwszą, czy złożoną i zwraca odpowiednio [math]\displaystyle{ 1 }[/math] lub [math]\displaystyle{ 0 }[/math]
  • czy liczba [math]\displaystyle{ m }[/math] przechodzi test Millera-Rabina dla podstawy [math]\displaystyle{ 2 }[/math]; jeśli nie, to zwraca [math]\displaystyle{ 0 }[/math]
  • czy liczba [math]\displaystyle{ m }[/math] przechodzi silny test Lucasa dla parametrów [math]\displaystyle{ P }[/math] i [math]\displaystyle{ Q }[/math], które wybieramy metodą Selfridge'a; jeśli nie, to zwraca [math]\displaystyle{ 0 }[/math], w przeciwnym wypadku zwraca [math]\displaystyle{ 1 }[/math]


Test w dokładnie takiej postaci zaproponowali Robert Baillie i Samuel Wagstaff[1]. Nazwa testu to akronim, utworzony od pierwszych liter nazwisk Roberta Bailliego, Carla Pomerance'a, Johna Selfridge'a i Samuela Wagstaffa.

Nie jest znany żaden przykład liczby złożonej [math]\displaystyle{ m }[/math], którą test BPSW[3][4] identyfikowałby jako pierwszą i z pewnością nie ma takich liczb dla [math]\displaystyle{ m \lt 2^{64} \approx 1.844 \cdot 10^{19} }[/math]. Warto przypomnieć: potrzebowaliśmy siedmiu testów Millera-Rabina (dla podstaw [math]\displaystyle{ 2, 3, 5, 7, 11, 13, 17 }[/math]), aby mieć pewność, że dowolna liczba [math]\displaystyle{ m \lt 3.41 \cdot 10^{14} }[/math] jest pierwsza (zobacz K21).



Uzupełnienia

 

Pewne własności współczynników dwumianowych

 

Twierdzenie L43
Jeżeli [math]\displaystyle{ p }[/math] jest liczbą pierwszą, to

[math]\displaystyle{ \binom{p}{k} \equiv 0 \pmod{p} }[/math]

dla każdego [math]\displaystyle{ k \in [1, p - 1] }[/math].

Dowód

Łatwo zauważamy, że dla [math]\displaystyle{ k \in [1, p - 1] }[/math] liczba pierwsza [math]\displaystyle{ p }[/math] dzieli licznik, ale nie dzieli mianownika współczynnika dwumianowego

[math]\displaystyle{ \binom{p}{k} = {\small\frac{p!}{k! \cdot (p - k)!}} }[/math]

zatem [math]\displaystyle{ p \biggr\rvert \binom{p}{k} }[/math]. Co należało pokazać.


Twierdzenie L44
Jeżeli [math]\displaystyle{ p }[/math] jest liczbą pierwszą nieparzystą, to

[math]\displaystyle{ \binom{p + 1}{k} \equiv 0 \pmod{p} }[/math]

dla każdego [math]\displaystyle{ k \in [2, p - 1] }[/math].

Dowód

Jeżeli [math]\displaystyle{ k \in [2, p - 1] }[/math], to modulo [math]\displaystyle{ p }[/math] dostajemy

[math]\displaystyle{ \binom{p + 1}{k} = \binom{p}{k} + \binom{p}{k - 1} \equiv 0 \pmod{p} }[/math]

Bo liczba pierwsza [math]\displaystyle{ p }[/math] dzieli licznik, ale nie dzieli mianownika współczynników dwumianowych po prawej stronie. Co należało pokazać.


Twierdzenie L45
Jeżeli [math]\displaystyle{ p }[/math] jest liczbą pierwszą, to

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

dla każdego [math]\displaystyle{ k \in [0, p - 1] }[/math].

Dowód

Łatwo sprawdzamy, że twierdzenie jest prawdziwe dla liczby pierwszej parzystej [math]\displaystyle{ p = 2 }[/math]. Załóżmy, że [math]\displaystyle{ p }[/math] jest liczbą pierwszą nieparzystą. Równie łatwo sprawdzamy, że twierdzenie jest prawdziwe dla [math]\displaystyle{ k = 0 }[/math] i [math]\displaystyle{ k = 1 }[/math]. Zauważmy, że dla [math]\displaystyle{ k \in [1, p - 1] }[/math] jest

[math]\displaystyle{ \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 liczba [math]\displaystyle{ k \in [2, p - 1] }[/math] nie dzieli liczby pierwszej nieparzystej [math]\displaystyle{ p }[/math], to [math]\displaystyle{ k }[/math] musi dzielić liczbę [math]\displaystyle{ \binom{p - 1}{k - 1} }[/math]. Zatem dla [math]\displaystyle{ k \in [2, p - 1] }[/math] modulo [math]\displaystyle{ p }[/math] mamy

[math]\displaystyle{ \binom{p - 1}{k} \equiv - \binom{p - 1}{k - 1}\pmod{p} }[/math]

Skąd otrzymujemy

[math]\displaystyle{ \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]

Co należało pokazać.


Twierdzenie L46
Dla współczynników dwumianowych prawdziwe są następujące wzory

[math]\displaystyle{ \underset{k \; \text{parzyste}}{\sum_{k = 0}^{n}} \binom{n}{k} = 2^{n - 1} }[/math]
[math]\displaystyle{ \underset{k \; \text{nieparzyste}}{\sum_{k = 1}^{n}} \binom{n}{k} = 2^{n - 1} }[/math]
Dowód

Ze wzoru dwumianowego

[math]\displaystyle{ (a + b)^n = \sum_{k = 0}^{n} \binom{n}{k} a^{n - k} b^k }[/math]

z łatwością otrzymujemy

[math]\displaystyle{ (1 + 1)^n = \sum_{k = 0}^{n} \binom{n}{k} = 2^n }[/math]
[math]\displaystyle{ (1 - 1)^n = \sum_{k = 0}^{n} (- 1)^k \binom{n}{k} = 0 }[/math]

Obliczając sumę i różnicę powyższych wzorów mamy

[math]\displaystyle{ \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]\displaystyle{ \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]

Skąd natychmiast wynika

[math]\displaystyle{ \underset{k \; \text{parzyste}}{\sum_{k = 0}^{n}} \binom{n}{k} = 2^{n - 1} }[/math]
[math]\displaystyle{ \underset{k \; \text{nieparzyste}}{\sum_{k = 1}^{n}} \binom{n}{k} = 2^{n - 1} }[/math]

Co należało pokazać.



Funkcje digits(m, b) oraz issquare(m)

 

Uwaga L47
W funkcji modLucas() wykorzystaliśmy zaimplementowaną w PARI/GP funkcję

digits(m, b) – zwraca wektor cyfr liczby [math]\displaystyle{ | m | }[/math] w systemie liczbowym o podstawie [math]\displaystyle{ b }[/math]

W naszym przypadku potrzebowaliśmy uzyskać wektor cyfr liczby [math]\displaystyle{ m }[/math] w układzie dwójkowym, czyli funkcję digits(m, 2) . Wprowadzenie tej funkcji pozwoliło zwiększyć czytelność kodu, ale bez trudu możemy ją sami napisać. Zauważmy, że do zapisania liczby [math]\displaystyle{ m \geqslant 1 }[/math] potrzebujemy [math]\displaystyle{ \log_2 m + 1 }[/math] cyfr. Zastępując funkcję [math]\displaystyle{ \log_2 m }[/math] funkcją [math]\displaystyle{ \left \lfloor \tfrac{\log m}{\log 2} \right \rfloor }[/math] musimy liczyć się z możliwym błędem zaokrąglenia – dlatego w programie deklarujemy wektor V o długości floor( log(m)/log(2) ) + 2. Zwracany wektor W ma już prawidłową długość.

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);
}


Uwaga L48
W funkcjach LucasTest() i StrongLucasTest() wykorzystaliśmy zaimplementowaną w PARI/GP funkcję

issquare(m) – sprawdza, czy liczba [math]\displaystyle{ 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 pierwiastka z liczby [math]\displaystyle{ m }[/math], czyli [math]\displaystyle{ \left\lfloor \sqrt{m} \right\rfloor }[/math]. Wykorzystamy tutaj ciąg

[math]\displaystyle{ 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 \gt 0 \end{cases} }[/math]

którego granicą jest [math]\displaystyle{ \sqrt{x} }[/math] [5].

Modyfikując powyższą definicję tak, aby operacje były zawsze wykonywane na liczbach całkowitych[6]

[math]\displaystyle{ 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 \gt 0 \end{cases} }[/math]

otrzymujemy ciąg, którego wszystkie wyrazy, począwszy od pewnego skończonego [math]\displaystyle{ n_0 }[/math], są równe [math]\displaystyle{ \left\lfloor \sqrt{m} \right\rfloor }[/math]. Nie dotyczy to przypadku, gdy [math]\displaystyle{ m + 1 }[/math] jest liczbą kwadratową, wtedy, począwszy od pewnego skończonego [math]\displaystyle{ n_0 }[/math], wyrazy ciągu przyjmują na zmianę wartości [math]\displaystyle{ \left\lfloor \sqrt{m} \right\rfloor }[/math] oraz [math]\displaystyle{ \left\lfloor \sqrt{m} \right\rfloor + 1 }[/math].

Na tej podstawie możemy w PARI/GP napisać funkcję

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);
}

Oczywiście liczba [math]\displaystyle{ m }[/math] jest liczbą kwadratową, wtedy i tylko wtedy, gdy [math]\displaystyle{ m = \left\lfloor \sqrt{m} \right\rfloor^2 }[/math], zatem wystarczy sprawdzić, czy m == intSqrt(m)^2.








Przypisy

  1. 1,0 1,1 Robert Baillie and Samuel S. Wagstaff Jr., Lucas Pseudoprimes, Mathematics of Computation Vol. 35, No. 152 (1980), (LINK)
  2. François Arnault, The Rabin-Monier Theorem for Lucas Pseudoprimes, Mathematics of Computation Vol. 66, No. 218 (1997)
  3. Wikipedia, Baillie–PSW primality test, (Wiki-en)
  4. MathWorld, Baillie-PSW Primality Test, (LINK)
  5. Wikipedia, Pierwiastek kwadratowy, (Wiki-pl), (Wiki-en)
  6. Wikipedia, Integer square root, (Wiki-en)