dsolve最后输出为什么只有常数

问题遇到的现象和发生背景

我想要判断线性微分方程是否为恰当方程,如不是,则求是否有x或y的积分因子。最后求出该方程的通解

问题相关代码

clear all;clc;close all;
syms x y;
M = y;
N = y-x;
F = simplify(diff(M,y)-diff(N,x));
if F==0
'是恰当方程'
else
FN = simplify(F/N)
if diff(FN,y)==0
'有含x的积分因子'
ji=exp(int(FN,x))
M=jiM
N=ji
N
end
FM = simplify(-F/M)
if diff(FM,x)==0
'有含y的积分因子'
ji=exp(int(FM,y))
M=jiM
N=ji
N
elseif diff(FN,y)~=0
'没有含x或y的积分因子'
end
end
Dy=-M/N
q=dsolve('Dy','x')

运行结果及报错内容

ji =1/y^2
M =1/y
N = -(x - y)/y^2
Dy = y/(x - y)

q =C1
(可以看到,积分因子和对MN的变换是正确的)