J'ai ce théorème (je ne sais pas si c'est le bon mot), et je veux obtenir toutes les solutions.Pourquoi ce code SBV s'arrête-t-il avant d'avoir atteint la limite que j'ai fixée?
pairCube limit = do
m <- natural exists "m"
n <- natural exists "n"
a <- natural exists "a"
constrain $ m^3 .== n^2
constrain $ m .< limit
return $ m + n .== a^2
res <- allSat (pairCube 1000)
-- Run from ghci
extractModels res :: [[Integer]]
Cette tente de résoudre le problème:
Il y a des paires infinies d'entiers (m, n) tel que m^3 = n^2 et m + n est un carré parfait. Quelle est la paire avec le plus grand m moins de 1000?
Je sais la réponse réelle, juste par le forçage brutal, mais je veux faire avec SBV.
Cependant, quand j'exécuter le code, il ne donne que les valeurs suivantes (sous la forme [m, n, a]): [[9,27,6], [64,512,24], []]
Cependant, il existe plusieurs autres solutions avec une valeur m inférieure à 1000 qui ne sont pas incluses.
@ ThomasM.DuBuisson Aussi, si je change la limite à 4097, j'obtiens les solutions avec m étant 225 et 576, mais si c'est 4096 ça ne se voit pas. – Kytuzian