Équation de Pell négative : solvabilité et solution minimale
Découvrez si x² − Dy² = −1 admet des solutions entières et obtenez la plus petite : quand D vaut 13, la réponse est x 18 et y 5, trouvée grâce à une fraction continue de période impaire 5. Même les très grandes solutions sont exactes. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- D
- 13
- D
- 13
- Longueur de la période
- 5
- X
- 18
- Y
- 5
Le solveur d’équation de Pell négative détermine si x au carré moins D fois y au carré égal à moins un admet une solution entière pour un entier positif non carré D. Si l’équation est résoluble, il renvoie exactement les plus petits x et y positifs, sans arrondi flottant. Il indique aussi la longueur de la période de la fraction continue qui décide de la solvabilité.
Ce que recherche l’équation de Pell négative
L’équation x² − Dy² = −1 ressemble à une légère variante de l’équation de Pell ordinaire, mais ce changement de signe rend l’existence d’une solution conditionnelle. D doit être un entier positif qui n’est pas un carré parfait, tandis que x et y sont recherchés parmi les entiers positifs. D’autres valeurs non carrées n’ont aucune solution.
Ce solveur distingue les deux cas et, lorsqu’une solution existe, trouve la solution minimale, c’est-à-dire celle dont le x positif est le plus petit. Les solutions de Pell pouvant dépasser largement la plage numérique sûre de JavaScript et de nombreuses bases de données, x, y et D sont renvoyés sous forme de chaînes décimales. Il s’agit d’entiers exacts, pas d’approximations.
L’indicateur solvable donne la décision directement ; les champs de solution sont omis lorsqu’il vaut faux, sans valeur nulle trompeuse ni substitut inventé. Un D carré parfait est refusé, car il sort du domaine défini pour cet outil.
Comment les fractions continues décident de la solvabilité
Le calcul repose sur la fraction continue simple périodique de la racine carrée de D. Pour tout entier positif non carré, ce développement possède un bloc répétitif fini. Un théorème classique fournit un critère exact : l’équation de Pell négative est résoluble si et seulement si la longueur de ce bloc est impaire.
Le solveur construit le développement uniquement avec des récurrences entières ; il n’estime jamais la racine carrée en virgule flottante. À chaque réduite, il conserve numérateur et dénominateur comme entiers de précision arbitraire, puis vérifie directement l’équation. Si une réduite produit −1, son numérateur et son dénominateur donnent les x et y positifs minimaux.
Si la période se referme sans cette réduite, sa longueur est paire et la réponse établit qu’aucune solution entière n’existe. Cette méthode livre en un seul passage une justification contrôlable et la solution demandée. Elle est déterministe : une même entrée suit toujours la même récurrence et fournit la même sortie, sans réseau, hasard, horloge ni format numérique régional.
Lire et exploiter le résultat sans perte
Saisissez D comme entier dans le champ d. Si sa valeur risque de dépasser la plage entière sûre de votre langage, transmettez une chaîne décimale exacte non signée ; le cœur de calcul accepte cette représentation sans perdre de chiffre. Vous pouvez le contrôler avec une bibliothèque de grands entiers en vérifiant x*x − D*y*y = −1.
Un résultat insoluble conserve D et la longueur de période, mais omet x et y puisqu’aucune valeur ne respecterait le contrat. Cette distinction facilite les scripts de recherche, les démonstrations pédagogiques et les traitements de théorie des nombres : examinez solvable avant de lire les champs de solution. Fractions, entiers négatifs, entrée absente et carrés parfaits provoquent une erreur de saisie typée plutôt qu’une réponse mathématique.
Cas d’usage
Vérifier une conjecture de théorie des nombres
Testez certaines valeurs non carrées de D et conservez les solutions minimales exactes pour une analyse symbolique ultérieure.
Préparer des exemples corrigés
Produisez des cas résolubles et insolubles reproductibles pour enseigner les irrationnels quadratiques et les fractions continues.
Valider une autre implémentation
Comparez votre propre solveur de Pell à des résultats exacts déterministes, y compris les périodes et de très grandes réponses décimales.
Questions fréquentes
Quand l’équation de Pell négative est-elle résoluble ?
Elle est résoluble exactement lorsque la fraction continue périodique de la racine carrée de D possède une période de longueur impaire.
Que signifie solution minimale ?
C’est la solution entière positive dont x est le plus petit ; la valeur positive correspondante de y est déterminée avec lui.
Pourquoi x et y sont-ils renvoyés comme chaînes ?
Les chaînes décimales préservent exactement tous les chiffres.
solvable à faux signifie-t-il que la recherche s’est arrêtée trop tôt ?
Non. La période de la fraction continue s’est refermée avec une longueur paire, ce qui prouve l’absence de solution entière.
Quelle est la plus petite solution quand D vaut 13 ?
C'est x 18 et y 5. La fraction continue de la racine carrée de 13 se répète avec une période de 5, une longueur impaire : il existe donc une solution, et 18 et 5 forment la plus petite paire positive.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/numth/negative-pell \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"d":13}'const res = await fetch("https://api.kit.forhosting.com/numth/negative-pell", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"d": 13
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/negative-pell",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"d": 13
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/negative-pell", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"d":13}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"d":13}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/negative-pell", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"d": 13
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.negative_pell",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Les grandes réponses sont fournies sous forme de chaînes décimales afin de préserver chaque chiffre dans JSON, les navigateurs, les terminaux et les applications.
Ce que recherche l’équation de Pell négative
Certaines valeurs conviennent immédiatement : pour D = 2, la paire x = 1 et y = 1 satisfait l’équation.
Lire et exploiter le résultat sans perte
Un résultat positif contient solvable à vrai, period_length pour la période de la fraction continue, ainsi que les chaînes décimales exactes x et y. Le navigateur et l’API partagent le même solveur pur et appliquent donc les mêmes règles de validation, récurrence, minimalité et exactitude. L’utilisation de l’API coûte $0.002 par requête.
Questions techniques
Que se passe-t-il si D est un carré parfait ?
La requête échoue avec une erreur invalid_input, car cette capacité est réservée aux valeurs non carrées de D.
Combien coûte une requête API ?
Chaque requête API coûte $0.002 ; le même solveur déterministe peut aussi être exécuté gratuitement dans le navigateur.