フェルマーの最終定理とは
\begin{align}
z^n=x^n+y^n (n>2)
\end{align}
を満たす自然数の組は存在しないというものである。\(n=2\)の場合はピタゴラスの定理となり解が存在する。この場合の解は直角三角形の斜辺の長さと解釈することができる。
今回はMATLABで関数を定義し計算を行う。なお入力の\(x,y,z\)はベクトルであり、次元を合わせてあれば大きさは問題にならない。
プログラムで表現する都合上
\begin{align}
z^n-x^n-y^n=0 (n>2)
\end{align}
が成り立つか調べている。以下ソースコード
x=[3,4]; y=[4,5]; z=[5,6];
n=3;
[f,~]=Fermat_last_theorem(x,y,z,n);
f
function [result,result1,result2] = Fermat_last_theorem(x,y,z,n)
if n<=2
error('n > 2')
end
result1=x.^n+y.^n;
result2=z.^n;
result=result2-result1;
end
コメント