Primero de todo, $2$ es un residuo cuadrático módulo $p$, ya que por
(el suplemento) de la Reciprocidad Cuadrática
$$
\left(\frac 2p\right) =
\begin{cases}
+1&\text{ if %#%#% modulo %#%#% ,}\\
-1&\text{ if %#%#% modulo %#%#% .}
\end{casos}
$$
Deje $p\equiv \pm1$ ser el anillo de los enteros en el cuadrática campo $8$, generado por
$p\equiv \pm3$$
a continuación, la división del ideal de la $8$ $R=\Bbb Z[\sqrt 2]$ corresponde a
la estructura de $\Bbb Q(\sqrt 2)$,
Descomposición en Factores primos de los ideales de una ecuación Cuadrática de Campo (wiki),
y en nuestro caso
$$
\Bbb Z[\sqrt 2]/p=(\Bbb Z[X]/X^2-2)/p=\Bbb Z[X]/(X^2-2,p)=(\Bbb Z[X]/p)/(X^2-2)=\Bbb F_p[X]/(X^2-2)\ ,
$$
que es un producto de dos anillos, ya que $$\sqrt 2\ ,$ tiene dos raíces distintas en $(p)$, ya que el $R$ es un residuo cuadrático módulo $R/(p)$.
El anillo de $X^2-2$ es factorial, única descomposición, $\Bbb F_p$ divisiones como un producto de dos Galois conjugado factores $2$, $p$,
de modo que existe una solución
$R$$
Deje $p\in R$ ser tal que $a\pm b\sqrt 2$, (sustituir posiblemente $a,b\in \Bbb Z$ por $$ p = (a+b\sqrt 2)(a-b\sqrt 2)=a^2 -2b^2\ .$, $a,b$ para el adecuado cambios de signos)
y tener un mínimo de $a,b\ge 1$.
Las unidades en $a,b$ son generados por $\pm a$, y (entero poderes de) $\pm b$. Así que a partir de una solución con la que podemos obtener otro, multiplicando con $b$. Permítanos calcular primero:
$$
(a+b\sqrt 2)(1-\sqrt 2)=(a-2b)+(b-a)\sqrt 2 \ .
$$
Así, podemos asumir primera $R$. (Otra cosa, podemos pasar de $\pm1$$1+\sqrt 2$.)
Podemos incluso suponer $(\pm 1\pm \sqrt 2)$. (Posiblemente pasando de $1\le b<a$$b$. Esto le da
$b-a$$
Hemos encontrado una mejor obligado.
$b<\frac a2$
Nota: La "danza" está relacionado con el (género) de la teoría de las formas cuadráticas y a la pregunta de si un primer "representado" por un determinado formulario.
Equipo de verificación, sage:
for p in primes(7, 200):
if p%8 not in (1, 7):
continue
foundSolution = False # so far
for b in range(1, ceil(sqrt(p/2))):
a = p + 2*b^2
if a.is_square():
print ( "p = %3d :: solution %3s + %s*sqrt(2) :: Is 2*%s^2 < %3s? %s"
% ( p, a, b, b, p, bool(2*b^2< p) ) )
foundSolution = True
break
if not foundSolution:
print "p = %s *** NO SOLUTION " % p
Esto nos da:
p = 7 :: solution 9 + 1sqrt(2) :: Is 2*1^2 < 7? True
p = 17 :: solution 25 + 2sqrt(2) :: Is 2*2^2 < 17? True
p = 23 :: solution 25 + 1sqrt(2) :: Is 2*1^2 < 23? True
p = 31 :: solution 49 + 3sqrt(2) :: Is 2*3^2 < 31? True
p = 41 :: solution 49 + 2sqrt(2) :: Is 2*2^2 < 41? True
p = 47 :: solution 49 + 1sqrt(2) :: Is 2*1^2 < 47? True
p = 71 :: solution 121 + 5sqrt(2) :: Is 2*5^2 < 71? True
p = 73 :: solution 81 + 2sqrt(2) :: Is 2*2^2 < 73? True
p = 79 :: solution 81 + 1sqrt(2) :: Is 2*1^2 < 79? True
p = 89 :: solution 121 + 4sqrt(2) :: Is 2*4^2 < 89? True
p = 97 :: solution 169 + 6sqrt(2) :: Is 2*6^2 < 97? True
p = 103 :: solution 121 + 3sqrt(2) :: Is 2*3^2 < 103? True
p = 113 :: solution 121 + 2sqrt(2) :: Is 2*2^2 < 113? True
p = 127 :: solution 225 + 7sqrt(2) :: Is 2*7^2 < 127? True
p = 137 :: solution 169 + 4sqrt(2) :: Is 2*4^2 < 137? True
p = 151 :: solution 169 + 3sqrt(2) :: Is 2*3^2 < 151? True
p = 167 :: solution 169 + 1sqrt(2) :: Is 2*1^2 < 167? True
p = 191 :: solution 289 + 7sqrt(2) :: Is 2*7^2 < 191? True
p = 193 :: solution 225 + 4sqrt(2) :: Is 2*4^2 < 193? True
p = 199 :: solution 361 + 9sqrt(2) :: Is 2*9^2 < 199? True