Эта статья находится в разработке!
Эта статья требует доработки!
- Надо привести более конструктивное доказательство теоремы. Так, чтобы получился алгоритм. И привести время работы этого алгоритма. Алгоритм должен эффективно работать для простых чисел порядка [math]10^{300}[/math].
Если Вы исправили некоторые из указанных выше замечаний, просьба дописать в начало соответствующего пункта (Исправлено).
Лемма (Вильсон): |
Если [math]p[/math] — простое, то [math](p-1)!+1[/math] делится на [math]p[/math]. |
Доказательство: |
[math]\triangleright[/math] |
При [math]p=2, p=3[/math] доказательство очевидно. Докажем для [math]p\geqslant 5[/math]. Так как [math]\mathbb{Z}_p[/math] - поле, то для каждого [math]x[/math] есть такое [math]y[/math], что [math]xy\equiv 1(mod p)[/math]. Может оказаться, что для некоторых [math]0\leqslant x\leqslant p-1[/math] выполнено [math]x=y[/math]. Найдём все такие [math]x[/math], что [math]x^2\equiv 1(mod p)[/math]. [math]x^2-1\equiv 0(mod p) \Rightarrow (x-1)(x+1)\equiv 0(mod p)[/math]. Значит [math]x\equiv 1(mod p)[/math] или [math]x\equiv p-1(mod p)[/math].
Из этого следует, что множество [math]{2,3,\cdots,p-2}[/math] разбивается на пары такие, что произведение чисел внутри каждой из них сравнимо с [math]1[/math] по модулю[math]p[/math]. Таким образом [math](p-2)!\equiv 1(mod p)[/math]. Но [math]p-1\equiv -1(mod p)[/math]. Следовательно [math](p-1)!\equiv -1(mod p)[/math] |
[math]\triangleleft[/math] |
Теорема: |
Если [math]p\equiv 1(mod 4),p\in\mathbb{P}[/math], то оно представимо в виде суммы двух квадратов. |
Доказательство: |
[math]\triangleright[/math] |
Из леммы Вильсона [math](p-1)!\equiv 1(mod p) \Rightarrow (4n)!+1\equiv 0 (mod p) [/math]. Следовательно [math]1\cdot 2\cdots (2n)\cdot(p-2n)\cdots(p-1)+1 \equiv ((2n)!)^2+1(mod p)[/math]. Теперь говорим, что [math] N = (2n)![/math], тогда [math]N^2 \equiv -1(mod p)[/math].
Рассмотрим пары чисел [math](m,s)[/math] такие, что [math]0\leqslant m, s \leqslant [\sqrt{p}][/math]. Число таких пар равно [math]([\sqrt{p}]+1)^2\gt p[/math]. Значит по крайней мере для двух различных пар [math](m_1,s_1),(m_2,s_2)[/math] остатки от деления [math]m_1+Ns_1, m_2+Ns_2[/math] на [math]p[/math] будут одинаковыми, т.е. число [math]a+Nb[/math], где [math]a=m_1-m_2, b=s_1-s_2[/math], будет делится на [math]p[/math]. При этом [math]~|a|\lt \sqrt{p},~|b|\lt \sqrt{p}[/math]. Но тогда число [math]a^2-N^2b^2=(a-Nb)(a+Nb)[/math] делится на [math]p[/math]. Учитывая, что [math]N^2\equiv -1(mod p)[/math], получим, что [math]a^2+b^2\equiv 0(mod p) \Rightarrow a^2+b^2=rp[/math], где [math]r\in\mathbb{N}[/math]. Но [math]a^2+b^2\lt 2p\Rightarrow r=1[/math], а значит [math]a^2+b^2=p[/math]. |
[math]\triangleleft[/math] |
Теорема: |
Если [math]p\equiv 1(mod 4),p\in\mathbb{P}[/math], то оно представимо в виде суммы двух квадратов. |
Доказательство: |
[math]\triangleright[/math] |
[math]h:h^2+1\vdots p[/math] и [math]h=g^{\frac{p-1}{4}}[/math].
Запустим алгоритм Евклида на [math]p,h[/math]. Получим [math]t_0=p, t_1=h, \cdots, t_k=1[/math].
Разложим [math]\frac{p}{h}[/math] в цепную дробь [math]\langle a_0,\cdots,a_n \rangle[/math].
[math]P_{n-1}Q_{n-2}-P_{n-2}Q_{n-1}=(-1)^{n}[/math]
[math]P_{n-2}=(-1)^{n}h[/math]. Берём [math]n[/math] чётным и получаем [math]P_{n-2}=h=t1[/math].
[math]P_{n-1}=a_{n-1}P_{n-2}+P_{n-3}[/math] ... [math]P_{n-3}=P_n%P_{n-2}=t2[/math] ... [math]P_{n-i-1} = t_i[/math]
[math]\frac{p}{h}=\frac{\alpha P_i +P_{i-1}}{\alpha Q_i + Q_{i-1}}, \alpha=\frac{t_{i+1}}{t_{i+2}}[/math] ... [math]\frac{p}{h}=\frac{t_{i+1}P_i+t_{i+2}P_{i-1}}{t_{i+1}Q_i+t_{i+2}Q_{i-1}}[/math] ... [math]t_{i+1}P_i+t_{i+2}P_{i-1}=t_{i+1}t_{n-i-1}+t_{i+2}t_{n-i}[/math] ... [math]i=\frac{n}{2}-1 \Rightarrow \frac{p}{h}=\frac{t_{\frac{n}{2}}^2+t_{\frac{n}{2}+1}^2}{t_{\frac{n}{2}}Q_{\frac{n}{2}-1}+t_{\frac{n}{2}+1}Q_{\frac{n}{2}-2}}[/math] ... [math]p=t_{\frac{n}{2}}^2+t_{\frac{n}{2}+1}^2[/math] |
[math]\triangleleft[/math] |