4
我有這個定理(不知道這是否正確的話),我想獲得所有的解決方案。爲什麼此SBV代碼在達到我設定的限制之前停止?
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]]
這是要解決的問題:
有整數無限雙(M,N),使得立方公尺= N^2,m + n爲一個完全平方。什麼是小於1000的最大m值?
我知道實際的答案,只是通過暴力強制,但我想用SBV做。
但是,當我運行代碼時,它只給出以下值(形式爲[m,n,a]): [[9,27,6],[64,512,24],[]]
但是,還有其他一些m值小於1000的解決方案未包括在內。
@ ThomasM.DuBuisson另外,如果我將限制更改爲4097,我得到的解決方案是m爲225和576,但如果它是4096,它不會顯示。 – Kytuzian