La forma de resolver cualquier ecuación diofántica cuadrática en dos variables se conoce por lo menos desde Gauss. Tú buscas las soluciones enteras \( (x, y) \) de la ecuación:
\( ax+b=y^2 \)
Luis te ha dado un criterio para saber si existe solución. Vamos a ver cómo podemos encontrar explícitamente todas las soluciones:
Dados unos enteros \( (x, y) \) que cumplan la ecuación, dividimos \( y=at+r \), con \( 0\leq r<|a| \). Entonces
\( r^2-b=(y-at)^2-b=y^2-b+a^2t-2ayt=ax+a^2t-2ayt \)
Por lo tanto, \( a\mid r^2-b \).
Podemos calcular todos los valores \( 0\leq y_i<|a| \) tales que \( a\mid y_i^2-b \), y lo que hemos probado es que cualquier solución de la ecuación será de la forma \( y=at+y_i \), para uno de los \( y_i \) que hemos calculado.
Ahora considera un numero de la forma \( y=at+y_i \), para cualquier valor de \( t \). Existirá un \( x \) tal que \( (x, y) \) cumpla la ecuación si y sólo si
\( ax+b=a^2t^2+y_i^2+2ay_it \)
lo que equivale a
\( \displaystyle x=\frac{y_i^2-b}a+a^2t+2ay_it \),
luego las soluciones de la ecuación son exactamente los pares de la forma
\( \displaystyle (x, y) = \left(\frac{y_i^2-b}a+a^2t+2ay_it,at+y_i\right) \),
donde \( t \) es un entero arbitrario y los \( y_i \) recorren todos los números naturales que cumplen
\( 0\leq y_i<|a| \), \( a\mid y_i^2-b \).
En particular, la condición necesaria y suficiente para que exista solución es que existan valores \( y_i \) que cumplan estas condiciones, lo cual equivale a la condición que te ha dicho Luis, es decir, a que \( b \) sea un resto cuadrático módulo \( a \).
Por ejemplo, para la ecuación \( 13x-28=y^2 \) que has planteado, se cumple que \( -28 \) no es un resto cuadrático módulo \( 13 \). Si estás familiarizado con el símbolo de Legendre, la comprobación es rutinaria:
\( \displaystyle\left(\frac{-28}{13}\right)=\left(\frac{-7}{13}\right)=\left(\frac{-1}{13}\right)\left(\frac{7}{13}\right)=\left(\frac{13}{7}\right)=\left(\frac{-1}{7}\right)=-1 \).