2016-10-14 11 views
0

Quelle est la meilleure façon de résoudre l'équation diophantienne comme ceci x^2 – x*y – 2*y^2 = 7 dans Matlab? Dans ce cas particulier, les réponses doivent être (3; –2), (5; 2), (–3; 2), (–5; –2).Résoudre équation diophantienne dans Matlab

+2

Voir [cette soumission de l'échange de fichiers] (https://www.mathworks.com/matlabcentral/fileexchange/56143-diophantine-equation-solver). Si vous avez la boîte à outils Symbolic Math, vous pouvez également utiliser MuPAD avec Matlab pour [résoudre Diophantines] (https://www.mathworks.com/help/symbolic/mupad_ref/solve.html#diophantine): 'evalin (symengine, 'résoudre (x^2-x * y-2 * y^2 = 7, [x, y], domaine = Z _)') '. – horchler

Répondre

0

Eh bien, vous pouvez la force brutale, même si je suis sûr qu'il ya de meilleures façons algébriques:

x = -5:5; 
y = -5:5; 

[X,Y] = meshgrid(x,y); 
f = X.^2-X.*Y-2*Y.^2; 

[X(f==7),Y(f==7)] 

vous pouvez balayer x et y entre les régions souhaitées. Il fonctionnera également pour les valeurs décimales x = -5:0.01:5;.