# Méthode chakravala

En mathématiques et plus précisément en arithmétique, la méthode chakravala est un algorithme pour résoudre l'équation de Pell-Fermat. Cette équation est un exemple d'équation diophantienne, c'est-à-dire à coefficients entiers et dont on cherche les solutions entières. Plus précisément, c'est l'équation
$x^{2}-ny^{2}=1$
où n est un entier naturel non carré.
Cette méthode fut développée en Inde et ses racines peuvent être retracées jusqu'au VIe siècle avec Aryabhata, suivi par Brahmagupta. Initiée par Jayadeva (en), elle fut développée plus avant par Bhāskara II.
Selenius l'évalue par : « La méthode représente un algorithme de meilleure approximation de longueur minimale qui, en raison de plusieurs propriétés de minimisation, produit automatiquement […], à moindre coût […] et en évitant les grands nombres, les plus petites solutions de l'équation […] La méthode chakravāla précéda les méthodes européennes de plus de mille ans. Mais aucune performance européenne dans le champ entier de l'algèbre, beaucoup plus tard après Bhāskara […], n'égala la merveilleuse complexité et l'ingéniosité de chakravāla. »
Il faut en effet attendre le XVIIe siècle pour que les Européens, qui ignoraient les travaux des mathématiciens indiens, découvrent des algorithmes — moins performants — résolvant le même problème.

## Objectif

Une forme d'équation de Pell-Fermat s'exprime de la manière suivante :
$x^{2}-ny^{2}=1,$
où n est un entier naturel non carré. L'équation est diophantienne ce qui signifie que les couples (x, y) recherchés sont des couples d'entiers. Toutes les solutions s'expriment à partir du couple solution formé de deux entiers minimaux en valeur absolue dans l'ensemble des solutions. La méthode chakravala permet d'obtenir un couple de cette nature.
L'égalité suivante est un exemple de solution ; elle était connue des Indiens du VIIe siècle :
$1151^{2}-92\times 120^{2}=1.$

## Histoire
### Mathématiques indiennes

Les mathématiques indiennes s'intéressent très tôt à l'arithmétique. Aryabhata, un mathématicien du VIe siècle, en établit les bases. Il développe un système de numération montrant qu'il connaissait probablement la notation positionnelle ainsi que l'existence du zéro. Il travaille sur les équations diophantiennes et pour résoudre l'identité de Bézout, met au point un algorithme équivalent à celui d'Euclide qu'il appelle kuṭṭaka (कूटटक) et qui signifie pulvérisateur car il casse les nombres en entiers plus petits. Il travaille aussi sur les fractions continues.
Le mathématicien indien Brahmagupta (598 – 668) semble être le premier à analyser en profondeur cette question. Il comprend comment, à partir de deux solutions, il est possible d'en construire une nouvelle. En réitérant, il obtient ainsi un nombre de solutions distinctes aussi élevé que souhaité. Cette méthode est appelée samasa par les mathématiciens indiens. Brahmagupta en déduit trois algorithmes. Le premier lui permet de trouver une solution s'il dispose d'un couple d'entiers (x, y) dont l'image par l'équation est –1. Il en trouve un deuxième traitant le cas où l'image est 2 en valeur absolue. Il en trouve un troisième donnant le même résultat si l'image est égale à ±4. Une ébauche de méthode voit le jour. Elle commence par un tâtonnement jusqu'à trouver un couple ayant pour image 1, 2 ou 4 en valeur absolue, elle continue par l'un des trois algorithmes. Brahmagupta l'utilise en 628 dans son livre Brahmasphuta siddhanta pour résoudre l'équation suivante :
$x^{2}-83y^{2}=1.$
Cette approche est insuffisante pour traiter les cas complexes, il peut être difficile de trouver par tâtonnement un couple donnant une des six valeurs qui permettent de conclure. Au XIIe siècle, Bhāskara II s'inspire de traités antérieurs et propose la forme définitive de la méthode chakravala. Elle correspond à l'adjonction d'un algorithme cyclique, c'est-à-dire donnant une suite périodique de couples contenant nécessairement une solution. L'algorithme cyclique est équivalent à celui des fractions continues. La méthode chakravala termine par les calculs de Brahmagupta si l'une des valeurs –1, ±2 et ±4 apparaît. Bhāskara II l'utilise en 1150 dans son traité Bijaganita pour trouver une solution minimale à l'équation suivante déjà trouvée par Brahmagupta :
$x^{2}-61y^{2}=1.$
Le couple solution trouvé est :
$x=1\,766\,319\,049\quad {\text{et}}\quad y=226\,153\,980.$
Il est peu probable que Bhāskara II ait démontré le fait que l'algorithme offre toujours une solution, c'est-à-dire pour n'importe quelle valeur de n car la démonstration, longue et technique, demande une sophistication de loin supérieure aux mathématiques du XIIe siècle. De nouveaux exemples sont traités plus tard, par les mathématiciens indiens. Au XIVe siècle un mathématicien du nom de Narayana étudie le cas où n est égal à 103 dans ses commentaires sur le livre Bijaganita de Bhāskara II.

### Europe

En février 1657 (à la suite d'un autre défi plus célèbre datant du 3 janvier de la même année), Pierre de Fermat défie Bernard Frénicle de Bessy et, à travers lui tous mathématiciens européens, de résoudre (entre autres) le problème pour n = 61. La réaction des Anglais est rapide : William Brouncker trouve un algorithme. Frénicle de Bessy propose alors une table contenant toutes les solutions pour les valeurs de n inférieures à 150, qui sera finalement perdue, puis John Wallis redécouvre les résultats de Brahmagupta et les démontre rigoureusement. Frénicle de Bessy défie Brouncker avec la valeur n = 313 ; il reçoit en réponse non seulement la solution mais l'affirmation que son auteur n'a pas eu besoin de plus « d'une heure ou deux » pour trouver.
Les deux questions théoriques sous-jacentes, à savoir si pour tout entier naturel n non carré il existe une solution et si la solution trouvée engendre bien toutes les autres, sont finalement résolues par Lagrange en 1767, par un algorithme moins performant que celui — alors ignoré des Européens — dû à Bhāskara, mais dont la correction est plus simple à démontrer. En 1930, A. A. Krishnaswami Ayyangar (en) affirme être le premier à prouver celle de chakravala.

## Apports de Brahmagupta
### Décors

Les méthodes proposées ici utilisent la puissance du formalisme actuel. Si le contenu mathématique est analogue à celui de Brahmagupta, les techniques d'exposition ainsi que les démonstrations ne reflètent pas la pensée du mathématicien indien. Les notations suivantes sont utilisées dans tout le reste de l'article. On considère l'équation diophantienne suivante, où n est un entier naturel non carré :
$(1)\quad x^{2}-ny^{2}=1.$
Soient A l'anneau des nombres de la forme a + √nb, où a et b désignent deux nombres entiers, N l'application qui à un élément de A associe sa « norme » et φ l'application qui à un élément de A associe son « conjugué » :
${\mathcal {N}}(a+{\sqrt {n}}b)=a^{2}-nb^{2},\quad \varphi (a+{\sqrt {n}}b)=a-{\sqrt {n}}b.$
La fonction N correspond à la norme de A au sens de la théorie algébrique des nombres. Un élément a + √nb de A est appelé racine de l'équation (1) si et seulement si sa norme vaut 1, c'est-à-dire si (a, b) est solution de (1).
La fonction φ possède aussi d'utiles propriétés. C'est un automorphisme de A :
∀α, β∈Aφ(α+β)=φ(α)+φ(β), φ(αβ)=φ(α)φ(β), φ(1)=1.{\textstyle \forall \alpha , \beta \in A\quad \varphi (\alpha +\beta )=\varphi (\alpha )+\varphi (\beta ), \quad \varphi (\alpha \beta )=\varphi (\alpha )\varphi (\beta ), \quad \varphi (1)=1.}
La conjugaison φ est involutive c'est-à-dire que composée deux fois de suite avec elle-même, elle est égale à l'identité, ou encore sa bijection réciproque est égale à elle-même :
$\forall \alpha \in A\quad (\varphi \circ \varphi )(\alpha )=\alpha .$
Enfin, le produit de deux éléments conjugués est égal à leur norme commune :
$\forall \alpha \in A\quad {\mathcal {N}}(\alpha )=\alpha \varphi (\alpha ).$
Si l'on note α = a + √nb, cela est justifié par le calcul suivant :
${\mathcal {N}}(\alpha )=a^{2}-nb^{2}=(a+{\sqrt {n}}b)(a-{\sqrt {n}}b)=\alpha \varphi (\alpha ).$

### Samasa

La première propriété utilisée est la suivante :
   Soit α et β deux éléments de A, alors :
   ${\mathcal {N}}(\alpha \beta )={\mathcal {N}}(\alpha ){\mathcal {N}}(\beta ).$
Si α = a$_1$ + √na$_2$ et β = b$_1$ + √nb$_2$, cette égalité s'écrit :
$(a_{1}b_{1}+na_{2}b_{2})^{2}-n(a_{1}b_{2}+a_{2}b_{1})^{2}=(a_{1}^{2}-na_{2}^{2})(b_{1}^{2}-nb_{2}^{2}).$
Cette égalité, connue sous le nom d'identité de Brahmagupta, était appelée Samasa par les Indiens. Pour se convaincre de son exactitude, il suffit d'exprimer N en fonction de l'automorphisme φ :
${\mathcal {N}}(\alpha \beta )=\alpha \beta \varphi (\alpha \beta )=\alpha \varphi (\alpha )\beta \varphi (\beta )={\mathcal {N}}(\alpha ){\mathcal {N}}(\beta ).$
Un cas particulier correspond à celui où β est un entier k, l'égalité prend la forme suivante :
   Soit α un élément de A et k un entier, alors :
   ${\mathcal {N}}(k\alpha )={\mathcal {N}}(k){\mathcal {N}}(\alpha )=k^{2}{\mathcal {N}}(\alpha ).$

### Conséquences

   * Soit α un élément de A de norme 1, alors φ(α) est inverse de α et de norme 1.
   * Si l'équation (1) admet une solution différente de ±1, alors elle admet une infinité de solutions distinctes.
En effet, N(α) = N(φ(α)) = αφ(α), et si α est une solution de (1) alors α$^k$ aussi pour tout entier naturel k (car la norme d'un produit est égale au produit des normes), or les puissances d'un réel différent de 0, 1 et –1 sont toutes distinctes.
Comprendre comment fait Brahmagupta pour résoudre l'équation (1) dépend de trois propositions :
   Soit α un élément de A.
   * Si N(α) = ±1 alors α$^2$ est une solution de (1).
   * Si N(α) = ±2 alors α$^2$/2 est une solution de (1).
   * Si N(α) = 4ε avec ε = ±1 alors une solution de (1) est :
   ** si α est divisible par 2 : (α/2)$^{(3–ε)/2}$ ;
   ** si n est pair : α$^2$/4 ;
   ** sinon : (α$^3$/8)$^{(3–ε)/2}$.
* : immédiat.
* : si α = a + b√n alors α$^2$ = a$^2$ + nb$^2$ + 2ab√n = N(α) + 2nb$^2$ + 2ab√n est divisible par 2 (et 2$^2$N(α$^2$/2) = N(α$^2$) = (±2)$^2$ donc N(α$^2$/2) = 1).
* : les deux premiers cas sont immédiats et dans le troisième, n, a et b sont impairs, si bien que α$^3$ est divisible par 8 car${\begin{aligned}\alpha ^{3}&=(a+b{\sqrt {n}})^{3}=a^{3}+3ab^{2}n+{\sqrt {n}}(nb^{3}+3a^{2}b)=a(a^{2}-nb^{2}+4nb^{2})+b{\sqrt {n}}(3a^{2}-3nb^{2}+4nb^{2})\\&=a\left({\mathcal {N}}(\alpha )+4nb^{2}\right)+b{\sqrt {n}}\left(3{\mathcal {N}}(\alpha )+4nb^{2}\right)=4a\left(\varepsilon +nb^{2}\right)+4b{\sqrt {n}}\left(3\varepsilon +nb^{2}\right)\quad {\text{avec}}\quad \varepsilon =\pm 1.\end{aligned}}$

### Exemples
#### Exemple de Brahmagupta

Traitons avec cette méthode l'exemple de Brahmagupta suivant :
$x^{2}-83y^{2}=1.$
Soit α = m + √83, l'entier m étant choisi tel que la norme N(α) = m$^2$ – 83 soit la plus petite possible en valeur absolue : m = 9, α = 9 + √83, N(α) = –2. Une proposition précédente montre que α$^2$/2 est une solution. Effectivement :
$\alpha ^{2}=(9^{2}+83\cdot 1)+{\sqrt {83}}\cdot 2\times 9\times 1=164+{\sqrt {83}}\cdot 18=2\left(82+{\sqrt {83}}\cdot 9\right)$
et
$82^{2}-83\times 9^{2}=6\,724-6\,723=1.$

#### Défi de Fermat

Le défi de Fermat se résout de la même manière :
$x^{2}-61y^{2}=1.$
Brahmagupta s'y prend de la manière suivante : il remarque que si α = 39 + 5√61 alors N(α) est égal à –4. Bien évidemment le formalisme de Brahmagupta n'a rien à voir avec celui utilisé ici, même si les calculs sont les mêmes. Il calcule α$^2$/2 :
${\frac {\alpha ^{2}}{2}}={\frac {1}{2}}(39+5{\sqrt {61}})^{2}={\frac {1}{2}}(39^{2}+5^{2}\times 61+2\times 5\times 39{\sqrt {61}})=1\,523+195{\sqrt {61}}.$
Puis il calcule α$^3$/8 et sa norme :
${\frac {\alpha ^{3}}{8}}={\frac {1}{4}}(39+5{\sqrt {61}})(1\,523+195{\sqrt {61}})=29\,718+3\,805{\sqrt {61}}\quad {\text{et}}\quad {\mathcal {N}}({\frac {\alpha ^{3}}{8}})=29\,718^{2}-61\times 3\,805^{2}=-1.$
La solution est donc α$^6$/64, soit :
${\frac {\alpha ^{6}}{64}}=(29\,718+3\,805{\sqrt {61}})^{2}=29\,718^{2}+61\times 3\,805^{2}+2\times 29\,718\times 3\,805{\sqrt {61}}=1\,766\,319\,049+226\,153\,980{\sqrt {61}}.$
La méthode est remarquablement économique pour un algorithme aussi ancien.

## Apport de Bhāskara II
### Principe de la méthode

Une difficulté de la méthode de Brahmagupta réside dans le fait qu'il n'est pas toujours simple de trouver un nombre α de A dont la norme soit égale à ±1, ±2 ou ±4. L'apport de Bhāskara II décrit dans le Siddhanta Siroman consiste à enrichir la méthode d'un algorithme qui finit infailliblement par fournir une « quasi-solution » de cette nature.
Bhāskara II construit par récurrence une suite d'éléments α$_j$ = a$_j$ + b$_j$√n de A de la manière suivante. Le premier élément de la suite est α$_0$ = 1, de norme k$_0$ = 1. Supposons la suite définie à l'ordre j. On construit un élément β$_j$ = m$_j$ + √n. L'entier naturel m$_j$ est tel que a$_j$ + m$_j$b$_j$ soit multiple de la norme k$_j$ de α$_j$ — autrement dit tel que b$_j$m$_j$ soit congru à –a$_j$ modulo k$_j$ — et m$_j$ minimise la valeur absolue de la norme m$_j$$^2$ – n de β$_j$. L'élément α$_{j+1}$ est alors défini par
$\alpha _{j+1}=a_{j+1}+b_{j+1}{\sqrt {n}}={\frac {\alpha _{j}\beta _{j}}{|{\mathcal {N}}(\alpha _{j})|}}={\frac {a_{j}m_{j}+nb_{j}+{\sqrt {n}}(a_{j}+m_{j}b_{j})}{|{\mathcal {N}}(\alpha _{j})|}}$
ou encore
$\alpha _{j+1}\varphi (\alpha _{j})=\pm \beta _{j},$
le ± correspondant au signe de N(α$_j$) — l'avantage de prendre en compte ce signe est qu'ainsi, a$_j$ et b$_j$ sont toujours positifs.
On verra plus loin que la condition « a$_j$ + m$_j$b$_j$ multiple de k$_j$ » équivaut à « m$_j$ congru à –m$_{j–1}$ modulo k$_j$ », ce qui simplifie l'algorithme.

### Exemples
#### Défi de Fermat

Choisissons encore n égal à 61. La valeur de m$_0$ est égale à 8 pour minimiser |N(β$_0$)|. En effet, √61 est compris entre 7 et 8 et 8$^2$ – 61 = 3 < 61 – 7$^2$. L'entier m$_1$ est ensuite choisi parmi ceux congrus, modulo N(α$_1$) = N(8 + √61) = 8$^2$ – 61 = 3, à –m$_0$ = –8 donc à 1. Des deux termes consécutifs 7 et 10 de cette suite arithmétique qui encadrent √61, celui qui minimise |N(β$_1$)| est m$_1$ = 7, ce qui donne :
$\alpha _{2}={\frac {8\times 7+61}{3}}+{\frac {8+7}{3}}{\sqrt {61}}=39+5{\sqrt {61}}\quad {\text{et}}\quad {\mathcal {N}}(\alpha _{2})=-4.$
La suite de la méthode est celle de Brahmagupta. La méthode chakravala permet maintenant de résoudre sans tâtonnement et avec un minimum de calcul le défi de Fermat.

#### Exemple de Narayana

Ce deuxième exemple est aussi extrait du Siddhanta Siroman de Bhāskara II, annoté par Narayana. Pour n = 103, m$_0$ = 10. L'entier m$_1$ est ensuite choisi congru à –10 modulo N(α$_1$) = N(10 + √103) = 10$^2$ – 103 = –3. Comme 8 < √103 < 11 et 11$^2$ – 103 = 18 < 103 – 8$^2$, on obtient m$_1$ = 11 et
$\alpha _{2}={\frac {10\times 11+103}{3}}+{\frac {10+11}{3}}{\sqrt {103}}=71+7{\sqrt {103}}\quad {\text{et}}\quad {\mathcal {N}}(\alpha _{2})=-6.$
On choisit ensuite m$_2$ congru à –11 modulo 6. Comme 7 < √103 < 13 et 103 – 7$^2$ = 54 < 13$^2$ – 103, on obtient m$_2$ = 7 — remarquons à cette occasion que « minimiser |m$^2$ – n| » ne coïncide pas toujours avec « minimiser |m – √n| » — puis
$\alpha _{3}=203+20{\sqrt {103}}\quad {\text{et}}\quad {\mathcal {N}}(\alpha _{3})=9.$
Puis, modulo 9, m$_3$ doit être congru à –7. Pour minimiser |N(β$_3$)|, il faut choisir m$_3$ égal à 11. On obtient
$\alpha _{4}=477+47{\sqrt {103}}\quad {\text{et}}\quad {\mathcal {N}}(\alpha _{4})=2.$
Le calcul de Brahmagupta permet de conclure : la valeur cherchée est
${\frac {\alpha _{4}^{2}}{2}}={\frac {(477+47{\sqrt {103}})^{2}}{2}}=227\,528+22\;419{\sqrt {103}}.$

#### Non-unicité

L'exemple suivant montre que le nombre α$_{j+1}$ défini à partir de α$_j$ n'est pas toujours unique : pour n = 58, α$_1$ est égal à 8 + √58, de norme 6 puis, pour m$_1$ congru à –2 modulo 6, le minimum de |m$_1$$^2$ – 58| est 42, atteint pour les deux valeurs 4 et 10 de m$_1$. Les deux valeurs correspondantes pour α$_2$ sont 15 + 2√58, de norme –7, et 23 + 3√58, de norme 7. Cependant, pour la première on trouve ensuite m$_2$ = 10 et pour la seconde, m$_2$ = 4 donc pour les deux, α$_3$ = 38 + 5√58, de norme –6, puis m$_3$ = 8 et α$_4$ = 99 + 13√58, de norme –1. La bifurcation n'était donc que passagère et les deux suites donnent la même solution.

## Démonstrations associées à l'apport de Bhāskara II
### Lemme

Un lemme démontre l'existence de la suite utilisée par Bhāskara II, sachant que si k et b sont des nombres premiers entre eux alors pour tout entier a, il existe des entiers m pour lesquels a + bm est divisible par k. En effet, en résolvant l'identité de Bézout — ce que les Indiens savaient déjà faire avec l'algorithme d'Euclide — on trouve des entiers v pour lesquels 1 – bv est multiple de k, et il suffit alors de poser m = –av.
   Soient a, b premiers entre eux et m, n deux entiers quelconques. On pose k = a$^2$ – nb$^2$, c = am + bn et d = a + bm.
   Si d est multiple de k alors c aussi, et les deux entiers c/k et d/k sont premiers entre eux.
Ce lemme est immédiat en remarquant que ad – bc = k et que b est premier avec k. Appliqué — avec les notations du § « Principe de la méthode » — à a = a$_j$ et b = b$_j$, il montre qu'à chaque étape de la construction de la suite (α$_j$), si m$_j$ est choisi selon la méthode indiquée alors α$_j$β$_j$ est un multiple de N(α$_j$), α$_{j+1}$ est un élément de A et a$_{j+1}$ et b$_{j+1}$ sont premiers entre eux, ce qui permet d'itérer la construction.
On peut remarquer de plus que la contrainte (dans le choix de m$_j$) « a$_j$ + b$_j$m divisible par N(α$_j$) » est équivalente à « m congru à –m$_{j–1}$ modulo N(α$_j$) ». En effet, b$_j$ est premier avec N(α$_j$) et a$_j$ + b$_j$(–m$_{j–1}$) est divisible par N(α$_j$) puisque φ(α$_j$)β$_{j–1}$ = ±N(α$_j$)φ(α$_{j–1}$).

### Caractère cyclique

Une fois montré que la suite (α$_j$) est bien définie, étudions son comportement. Elle est « cyclique » en un certain sens. Plus précisément, en notant cl(α) la classe d'équivalence de α pour la relation « être associés » (c'est-à-dire multiple l'un de l'autre par un élément inversible — si bien que tous les éléments d'une classe ont même norme en valeur absolue), la suite (cl(α$_j$)) est périodique à partir d'un certain rang. Cette propriété est la conséquence immédiate de trois propositions :
   * La suite (|N(α$_j$)|) est majorée par √n.
   * Pour tout réel C > 0, il n'existe qu'un nombre fini de classes d'équivalence de norme en valeur absolue inférieure à C.
   * Si, pour deux indices i et j, α$_i$ = εα$_j$ avec ε inversible dans A, alors α$_{i+1}$ = εα$_{j+1}$.
* k$_j$ := |N(α$_j$)| < √n : montrons-le par récurrence. On a bien k$_0$ = 1 < √n. Supposons que k$_j$ < √n. Alors, il existe un entier m (nécessairement positif) tel que m < √n < m + k$_j$ et tel que m$_j$ soit égal à m ou à m + k$_j$, selon que n – m$^2$ est inférieur ou supérieur à (m + k$_j$)$^2$ – n, autrement dit selon que m$^2$ + k$_j$m + k$_j$$^2$/2 – n est positif ou négatif. Par comparaison de m avec la racine positive de ce polynôme du second degré, on en déduit facilement que dans les deux cas, |m$_j$$^2$ – n| ≤ k$_j$√n – k$_j$$^2$/4 < k$_j$√n, d'où k$_{j+1}$ = |m$_j$$^2$ – n|/k$_j$ < √n.
* Il n'existe qu'un nombre fini de classes d'équivalences de norme en valeur absolue inférieure à C : il suffit de montrer que pour tout entier N > 0, il n'existe qu'un nombre fini de classes de norme en valeur absolue égale à N. Pour cela, remarquons d'abord que deux éléments ont même classe si et seulement si l'idéal principal qu'ils engendrent est le même, et que tout idéal engendré par un élément dont la valeur absolue de la norme vaut N est un sous-groupe additif de A contenant NA. Il suffit donc de prouver que les sous-groupes additifs de A contenant NA sont en nombre fini. Or ils sont en bijection avec les sous-groupes du groupe quotient A/NA, qui est fini (de cardinal N$^2$), ce qui conclut.
* Si α$_i$ = εα$_j$ avec ε inversible dans A alors α$_{i+1}$ = εα$_{j+1}$ car |N(α$_i$)| = |N(α$_j$)| et les β divisibles par φ(α$_i$) — qui sont les mêmes que ceux divisibles par φ(α$_j$) — vérifient α$_i$β = εα$_j$β.
Ces propriétés ne démontrent que la périodicité à partir d'un certain rang. Le paragraphe suivant montre que ce rang est 0.

### Structure de la suite

Le fait que la suite soit périodique n'indique a priori pas qu'elle atteint un point de norme égale à 1 en valeur absolue. Tel est pourtant toujours le cas :
   * Il existe un indice j > 0 tel que N(α$_j$) = ±1 (donc N(α$_{2j}$) = 1).
   * La suite (cl(α$_k$)) forme un « palindrome à conjugaison près » : cl(α$_{j–1}$) = cl(φ(α$_1$)), cl(α$_{j–2}$) = cl(φ(α$_2$)), etc.
Soient B l'ensemble des éléments a + b√n de A pour lesquels a et b sont premiers entre eux, et ψ la fonction de B dans B définie par : à un élément α de B on associe un élément β de forme m + √n avec m entier naturel tel que βα soit un multiple de la norme de α, de norme minimale (on a vu plus haut qu'il pouvait y en avoir deux : on peut par exemple choisir systématiquement dans ce cas celui qui correspond à la plus petite des deux valeurs de m), puis on pose ψ(α) = αβ/|N(α)|. Le lemme et le paragraphe précédent montrent que l'application ψ est bien définie et que
$\forall k\in \mathbb {N} ,\quad \psi (\alpha _{k})=\alpha _{k+1}.$
Cette fonction possède une symétrie par rapport à la fonction φ :
   * La propriété suivante est vérifiée :
$\forall \alpha ,\gamma \in B\quad \psi (\alpha )=\gamma \Rightarrow \psi (\varphi (\gamma ))=\pm \varphi (\alpha ).$
Plus précisément : ψ(φ(γ)) = ε$_1$ε$_2$φ(α), où ε$_1$ (resp. ε$_2$) désigne le signe de la norme de α (resp. γ).
En effet, si α possède pour image par ψ la valeur γ, il existe un unique élément β de la forme m + √n avec m entier naturel tel que
$\gamma ={\frac {\alpha \beta }{|{\mathcal {N}}(\alpha )|}}=\epsilon _{1}{\frac {\alpha \beta }{\alpha \varphi (\alpha )}}=\epsilon _{1}{\frac {\beta }{\varphi (\alpha )}}\quad {\text{et}}\quad (1)\quad \varphi (\alpha )=\epsilon _{1}{\frac {\beta }{\gamma }}=\epsilon _{1}\epsilon _{2}{\frac {\varphi (\gamma )\beta }{|{\mathcal {N}}(\varphi (\gamma ))|}}.$
L'élément β est bien de la forme m + √n avec m entier naturel tel que βφ(γ) est un multiple de la norme de φ(γ), car φ(α) appartient à A. Soit β' un élément vérifiant ces propriétés et de norme inférieure à β, l'égalité γ = αβ'/N(β') montre que β' est de norme supérieure à β. On en déduit que les normes de β et β' sont égales et son caractère minimal est vérifié. L'égalité (1) montre alors que ε$_1$ε$_2$φ(α) est bien l'image de φ(γ) par ψ. La proposition est démontrée.
On en déduit que la fonction ψ est une bijection de B dans B.
   * Il existe un indice j > 0 tel que N(α$_j$) = ±1 :
D'après le § « Caractère cyclique » précédent, il existe deux indices 0 ≤ k < k + j tels que cl(α$_{k+j}$) = cl(α$_k$). Par la bijectivité de ψ démontrée ci-dessus, on en déduit que cl(α$_j$) = cl(α$_0$), c'est-à-dire que N(α$_j$) = ±1. De plus, comme b$_j$ > 0, la solution trouvée n'est pas triviale.
   * La suite (α$_j$) forme un palindrome :
De cl(ψ(α$_{j–1}$)) = cl(φ(α$_0$)) on déduit par récurrence, par la propriété de ψ démontrée ci-dessus, que cl(ψ(α$_{j–1–k}$)) = cl(φ(α$_k$)).

## Fraction continue

La méthode chakravala est très proche de celle de la fraction continue. Ici, l'objectif est d'approcher la racine de n par une expression optimale de la nature suivante :
${\sqrt {n}}=f_{0}+{\cfrac {1}{f_{1}+{\cfrac {1}{f_{2}+{\frac {1}{f_{3}+\,\cdots }}}}}}\quad {\text{avec}}\quad f_{i}\in \mathbb {Z} .$

### Approche théorique

Soit n un entier naturel non carré. On définit par récurrence deux suites, (f$_j$)$_{j≥0}$ à valeurs dans ℤ et (θ$_j$)$_{j≥–1}$ dans ℚ(√n) par : θ$_{–1}$ = √n et pour tout j ≥ –1, f$_{j+1}$ est l'entier (ou le plus petit des deux entiers) pour lequel |N(θ$_j$ – f$_{j+1}$)| est minimal et θ$_{j+1}$ = 1/(θ$_j$ – f$_{j+1}$). Le fait que √n soit irrationnel montre que θ$_j$ est toujours irrationnel ; les suites (f$_j$) et (θ$_j$) sont ainsi bien définies.
Cette définition diffère de la traditionnelle fraction continue car ici, les θ$_j$ et les f$_j$ ne sont pas nécessairement positifs.
Soient (h$_j$) et (k$_j$) les suites des numérateurs et dénominateurs des réduites.
   Si (α$_j$) et (β$_j$) désignent les suites définies précédemment, les égalités suivantes sont vérifiées (avec, par convention, m$_{–1}$ = 0) :
   $\forall j\in \mathbb {N} \quad f_{j}=(-1)^{j}{\frac {m_{j-1}+m_{j}}{{\mathcal {N}}(\alpha _{j})}},\quad \theta _{j}=(-1)^{j+1}{\frac {\varphi (\beta _{j})}{{\mathcal {N}}(\alpha _{j})}}\quad {\text{et}}\quad \alpha _{j}=\pm (h_{j-1}+k_{j-1}{\sqrt {n}}).$
Ainsi, le caractère cyclique et la propriété de palindrome de cette fraction continue permettent de démontrer ceux de la méthode chakravala, et inversement. Si l'algorithme récursif impose aux β$_j$ d'être de norme systématiquement négative, alors les démonstrations de l'article restent valables et les fractions continues associées correspondent à la définition usuelle.
* f$_j$ = (–1)$^j$(m$_{j–1}$ + m$_j$)/N(α$_j$) et θ$_j$ = (–1)$^{j+1}$N(α$_j$)/φ(β$_j$) : montrons ce résultat par récurrence sur j. Par définition, f$_0$ = m$_0$ et$\theta _{0}={\frac {1}{{\sqrt {n}}-m_{0}}}={\frac {1}{-\varphi (\beta _{0})}}=-{\frac {{\mathcal {N}}(\alpha _{0})}{\varphi (\beta _{0})}}.$Supposons le résultat établi à l'ordre j – 1 et montrons qu'il est vrai à l'ordre j.$(-1)^{j}\left(f_{j}+{\frac {1}{\theta _{j}}}\right)=(-1)^{j}\theta _{j-1}={\frac {{\mathcal {N}}(\alpha _{j-1})}{\varphi (\beta _{j-1})}}={\frac {{\mathcal {N}}(\alpha _{j-1})\beta _{j-1}}{\varphi (\beta _{j-1})\beta _{j-1}}}={\frac {{\mathcal {N}}(\alpha _{j-1})\beta _{j-1}}{{\mathcal {N}}(\pm \alpha _{j}\varphi (\alpha _{j-1}))}}={\frac {\beta _{j-1}}{{\mathcal {N}}(\alpha _{j})}}={\frac {m_{j-1}+m_{j}}{{\mathcal {N}}(\alpha _{j})}}-{\frac {\varphi (\beta _{j})}{{\mathcal {N}}(\alpha _{j})}}$et par choix de β$_j$, l'entier f = (m$_{k–1}$ + m$_k$)/N(α$_k$) est celui pour lequel la valeur absolue de la norme de (β$_{j–1}$/N(α$_j$)) – f est minimale. Il est donc égal à (–1)$^j$f$_j$ et le reste, –φ(β$_j$)/N(α$_j$), à (–1)$^j$/θ$_j$.
* α$_j$ = ±(h$_{j–1}$ + k$_{j–1}$√n) : en notant ε$_j$ le signe de N(α$_j$) on a, pour tout j > 0 :$(-1)^{j}f_{j}{\mathcal {N}}(\alpha _{j})=m_{j}+m_{j-1}=\beta _{j}+\varphi (\beta _{j-1})=\varepsilon _{j}\alpha _{j+1}\varphi (\alpha _{j})+\varepsilon _{j-1}\varphi (\alpha _{j})\alpha _{j-1}$c'est-à-dire$(-1)^{j}f_{j}\alpha _{j}=\varepsilon _{j}\alpha _{j+1}+\varepsilon _{j-1}\alpha _{j-1}$ou encore, en posant$\varepsilon '_{j}=(-1)^{j(j-1)/2}\prod _{0\leq i<j}\varepsilon _{i}~:\quad \varepsilon '_{j+1}\alpha _{j+1}=f_{j}\varepsilon '_{j}\alpha _{j}+\varepsilon '_{j-1}\alpha _{j-1}.$Les deux suites (ε'$_j$α$_j$) et (h$_{j–1}$ + k$_{j–1}$√n) vérifient donc la même relation de récurrence d'ordre 2. Comme elles coïncident pour j = 0 et pour j = 1, elles sont égales.

### Méthode de calcul

L'approche par les fractions continues offre un enrichissement de la méthode algorithmique précédente pour l'équation de Pell-Fermat ou la détermination de la fraction continue. Illustrons ces méthodes à l'aide de l'exemple n = 313 et montrons comment Brouncker pouvait effectivement résoudre ce défi en une heure ou deux. Par définition, m$_{–1}$ = 0 et N(α$_0$) = 1 puis, pour tout indice j ≥ 0 :
* m$_j$ est congru à –m$_{j–1}$ modulo N(α$_j$) et son carré est le plus proche possible de 313 ;
* N(β$_j$) = m$_j$$^2$ – 313 ;
* N(α$_{j+1}$) = N(β$_j$)/N(α$_j$).
On trouve ainsi m$_0$ = 18, N(β$_0$) = 11, N(α$_1$) = 11, m$_1$ = 15, N(β$_1$) = –88, N(α$_2$) = –8, etc.
On en déduit les f$_j$ par la formule du paragraphe précédent : f$_0$ = m$_0$ = 18, f$_1$ = –(18 + 15)/11 = –3, etc.
Cette approche permet d'éviter les grands nombres, sauf pour h$_{j–1}$ et k$_{j–1}$, dont a$_j$ et b$_j$ sont les valeurs absolues. On les calcule pour j ≥ 1 par la formule de récurrence à partir des f$_j$.
En outre, si les normes de deux α consécutifs sont égales ou opposées, il résulte aussitôt de l'algorithme que les β et les normes des α forment un palindrome. Plus précisément : si N(α$_{r+1}$) = εN(α$_r$) avec ε = ±1 alors, par récurrence sur k, β$_{r+k}$ = β$_{r–k}$ et N(α$_{r+k+1}$) = εN(α$_{r–k}$). Par conséquent, α$_{2r+1}$ est alors inversible (de norme ε) et — d'après l'expression de la suite des α en fonction de celle des β — égal à ε$^r$α$_{r+1}$/φ(α$_r$) = ε$^r$α$_r$α$_{r+1}$/N(α$_r$).
On construit ainsi le tableau suivant, où l'on constate que la situation mentionnée survient pour r = 6 et ε = –1 :
| j | m$_j$ | N(β$_j$) = m$_j$$^2$ – 313 | N(α$_j$) = N(β$_{j–1}$)/N(α$_{j–1}$) | f$_j$ = (–1)$^j$(m$_j$ + m$_{j–1}$)/N(α$_j$) | h$_{j–1}$ = f$_{j–1}$h$_{j–2}$ + h$_{j–3}$ | k$_{j–1}$ = f$_{j–1}$k$_{j–2}$ + k$_{j–3}$ |
| 0 | 18 | 11 | 1 | 18 | 1 | 0 |
| 1 | 15 | –88 | 11 | –3 | 18 | 1 |
| 2 | 17 | –24 | –8 | –4 | –53 | –3 |
| 3 | 19 | 48 | 3 | –12 | 230 | 13 |
| 4 | 13 | –144 | 16 | 2 | –2 813 | –159 |
| 5 | 14 | –117 | –9 | 3 | –5 396 | –305 |
| 6 | 12 | –169 | 13 | 2 | –19 001 | –1 074 |
| 7 | 14 | –117 | –13 | 2 | –43 398 | –2 453 |
La suite des normes des α est donc 1, 11, –8, 3, 16, –9, 13, –13, 9, –16, –3, 8, –11, –1, ce qui fournit un élément de norme –1 :
$\alpha _{13}={\frac {\alpha _{6}\alpha _{7}}{13}}=(19\,001+1\,074{\sqrt {313}})(43\,398+2\,453{\sqrt {313}})=126\,862\,368+7\;170\;685{\sqrt {313}}.$
(Ce nombre est d'ailleurs aussi égal à α$_3$$^2$α$_5$/9.) Il ne reste plus qu'à l'élever au carré pour obtenir la solution recherchée :
$\alpha _{26}=\alpha _{13}^{2}=(126\,862\,368+7\;170\;685{\sqrt {313}})^{2}=32\;188\;120\;829\;134\;849+1\;819\;380\;158\;564\;160{\sqrt {313}}.$
La méthode chakravala permet ainsi de résoudre à la main ce type de calcul. La même démarche, sans le calcul des colonnes h$_{j–1}$ et k$_{j–1}$, inutile pour cet objectif, permet de déterminer une fraction continue de √313. Rechercher la solution telle que la suite (f$_k$) ne comporte que des valeurs positives suppose de restreindre le choix aux m$_k$ inférieurs ou égaux à 17. On trouverait alors la fraction continue de cet irrationnel quadratique : [17, 1, 2, 4, 11, 1, 1, 3, 2, 2, 3, 1, 1, 11, 4, 2, 1, 34].