function [X,Y]=diopha(A,B,C) %function [X,Y]=diopha(A,B,C) % %Risolve l'equazione diofantea: % % A X + B Y = C % %A,B,C devono essere vettori riga contenenti i coefficienti dei polinomi n=length(A)-1; m=length(B)-1; L=length(C)-1; if (L>=m+n) k=L-n; else k=m-1; end h=n-1; p=k+h+2; M=zeros(p,p); for (ii=1:k+1) M(ii:ii+n,ii)=A'; end for (ii=1:h+1) M(p-ii-m+1:p-ii+1,p-ii+1)=B'; end %disp([p m n L k]),M Q=zeros(p,1); Q(p-L:p)=C'; XX=inv(M)*Q; X=XX(1:k+1)'; if (isempty(X)), X=0; end Y=XX(k+2:p)'; if (isempty(Y)), Y=0; end