Esto es más para J. M... no es necesario el uso de ciclo de algoritmos de detección si usted se pega con la reducción de la formas cuadráticas, http://www.numbertheory.org/php/reduce.html para una descripción.
Como escribí en http://mathoverflow.net/questions/22811/upper-bound-of-period-length-of-continued-fraction-representation-of-very-composi/23014#23014
si usted está buscando sólo la reducción de las formas $$ \langle a,b,c \rangle \approx a x^2 + b x y + c y^2, $$ with discriminant $\Delta = b^2 - 4 a c$ positiva, pero no un cuadrado, con
$$ 0 < b < \sqrt \Delta $$
y
$$ \sqrt \Delta - b < 2 |a| < \sqrt \Delta + b. $$
Edit, April 2015: THEOREM: a form $ \langle a,b,c \rangle$ with discriminant $\Delta = b^2 - 4 a c$ positiva, pero no un cuadrado se REDUCE si y sólo si
$$ ac < 0 \; \; \mbox{AND} \; \; \; b > |a+c|. $$
Then, at any given step, find $\delta$ que
$$ \delta c > 0 $$
y
$$ |\delta| = \left\lfloor \left| \frac{b +\sqrt \Delta}{2 c} \right|\right\rfloor $$
Ahora, el derecho adyacentes formulario de la derecha o vecino, está dada por
$$ \langle a,b,c \rangle \rightarrow \langle c, -b + 2 c \delta, a - b \delta + c \delta^2 \rangle. $$
Espuma, enjuague, repita.
Si usted comienza con un reducido formulario de $\langle a_0,b_0,c_0 \rangle$ a continuación, después de un número finito de pasos, llame a $n$ pasos, se obtiene una coincidencia exacta de los tres coeficientes, $$\langle a_n,b_n,c_n \rangle = \langle a_0,b_0,c_0 \rangle$$
An indefinite binary quadratic form, with integer coefficients, corresponds to one of two quadratic irrationals given by the quadratic formula, where we are solving for either $x/y$ or $s/x$ according to taste. As the discriminant is positive and not a square, the roots are real numbers. It turns out that the number defined by the continued fraction (take the absolute values of the $\delta$'s) is not just positive but is larger than 1. Just one of those things.
I noticed in your code for $\sqrt N$ you had it terminate when the first coefficient returned to $\pm 1.$ Thts is not going to work if the reduced form you start with is $\langle 7,3,-7 \rangle$, donde el método exacto que yo describo es dar a la continuación de la fracción de
$$ \frac{3 + \sqrt{205}}{14} $$
jagy@phobeusjunior:~/old drive/home/jagy/Cplusplus$ ./indefCycle
Input three coefficients a b c for indef f(x,y)= a x^2 + b x y + c y^2
7 3 -7
0 form 7 3 -7 delta -1
1 form -7 11 3 delta 4
2 form 3 13 -3 delta -4
3 form -3 11 7 delta 1
4 form 7 3 -7
minimum was 3rep -1 -1 disc 205 dSqrt 14.317821063 M_Ratio 4.183673
Automorph, written on right of Gram matrix:
17 21
21 26
Trace: 43 gcd(a21, a22 - a11, a12) : 3
=========================================
jagy@phobeusjunior:~/old drive/home/jagy/Cplusplus$
To repeat, reduced indefinite integral quadratic form correspond to quadratic irrationals with purely periodic continued fractions. The cycle is complete if and only if the initial reduced form has been repeated. No other cycle detection is required.
The one caution is that, because we are taking the absolute values of the $\delta$'s, es posible para la continuación de la fracción del período a ser exactamente la mitad del período de la forma cuadrática. Por ejemplo,
=========================================
jagy@phobeusjunior:~/old drive/home/jagy/Cplusplus$ ./Pell
Input n for Pell
61
0 form 1 14 -12 delta -1
1 form -12 10 3 delta 4
2 form 3 14 -4 delta -3
3 form -4 10 9 delta 1
4 form 9 8 -5 delta -2
5 form -5 12 5 delta 2
6 form 5 8 -9 delta -1
7 form -9 10 4 delta 3
8 form 4 14 -3 delta -4
9 form -3 10 12 delta 1
10 form 12 14 -1 delta -14
11 form -1 14 12 delta 1
12 form 12 10 -3 delta -4
13 form -3 14 4 delta 3
14 form 4 10 -9 delta -1
15 form -9 8 5 delta 2
16 form 5 12 -5 delta -2
17 form -5 8 9 delta 1
18 form 9 10 -4 delta -3
19 form -4 14 3 delta 4
20 form 3 10 -12 delta -1
21 form -12 14 1 delta 14
22 form 1 14 -12
disc 244
Automorph, written on right of Gram matrix:
-183241189 1581119536
-226153980 945570387
Pell automorph
-1766319049 -910490892
-226153980 -1766319049
Pell unit
1766319049^2 - 61 * 226153980^2 = 1
=========================================
jagy@phobeusjunior:~/old drive/home/jagy/Cplusplus$
La de arriba está dando la continuación de la fracción de
$$ \frac{7 + \sqrt{61}}{12},$$
Así que creo que estamos consiguiendo siempre el mayor valor de $x/y$ en lugar de $y/x.$ Para su propósito, esta es la correcta, usted está poniendo un 7 en la parte delantera, que utiliza la recíproca de la anterior, para obtener
$$ 7 + \; \; \frac{12}{ \sqrt{61} + 7} $$
que funciona a $\sqrt 61$ al racionalizar el denominador.
Por favor, lea el capítulo 3, páginas 21-48, en la Formas Cuadráticas Binarias por Duncan A. Buell, AMAZON