2016-10-14 25 views
0

Matlabのx^2 – x*y – 2*y^2 = 7のようなDiophantine方程式を解く最良の方法は何ですか?この特定のケースでは、回答は(3; –2), (5; 2), (–3; 2), (–5; –2)である必要があります。MatlabのDiophantine方程式を解く

+2

[このファイル交換の提出](https://www.mathworks.com/matlabcentral/fileexchange/56143-diophantine-equation-solver)を参照してください。シンボリック数学ツールボックスがあれば、MatlabのMuPADを使って[Diophantinesを解く](https://www.mathworks.com/help/symbolic/mupad_ref/solve.html#diophantine): 'evalin(symengine、 '(x^2 - x * y - 2 * y^2 = 7、[x、y]、ドメイン= Z _)') 'を解く。 – horchler

答えて

0

さてあなたは私がより良い代数的方法がある確信しているものの、それをブルートフォースすることができます

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)] 

あなたが所望の領域の間xyを掃引することができます。また、小数値の場合はx = -5:0.01:5;にも適用されます。