#1; #dsolve1(1/b_, y_,x_,n_) := if(abs(n)<=1 and has(b,y),if(has(b,x), dsolve(replace(b,x,zz),zz,y,n)=x,C_1+int(b,y,n)=x^n/n! )); #dsolve1(1/b_, y_,x_,n_) := if( has(b,y), dsolve(replace(b,x,zz),zz,y,n)=x); dsolve1(1/b_, y_,x_,n_) := if(abs(n)<=1 and has(b,y),if(has(b,x),if(not(isfunction(b)), dsolve(replace(b,x,zz),zz,y,n)=x,C_1+int(b,y,n)=x^n/n! ))); dsolve1(exp(b_+c_), y_,x_,p_) := if(p<=1, if(has(c,y) and hasnot(b,y), int(exp(-c),y,p)=int(exp(b),x,p)*p!+C_1, if(has(b,y) and hasnot(c,y), int(exp(-b),y,p)=int(exp(c),x,p)*p!+C_1 ))); #2x; #dsolve1(a_*b_,y_,x_,p_):= if(p>1 and p<=2 and has(b,y) and isconstant(a), int(1/sqrt(2a*int(b,y)),y,p-1)=C_1+x, if(hasnot(a,y) and hasnot(b,x), solve(int(1/b,y,p)=p!*int(a,x,p)+gsolution(0,y,x,p),y), if(has(a,y) and hasnot(a,x), if(hasnot(b,y), solve(int(1/a,y,p)=p!*int(b,x,p)+gsolution(0,y,x,p),y), int(1/a/b,y,p)=x^p+gsolution(0,y,x,p) )))); #dsolve1(a_*b_,y_,x_,-1):= if(hasnot(a,y) and hasnot(b,x), solve(d(1/b,y)=d(a,x)+C_1,y), if(hasnot(b,y) and hasnot(a,x), solve(d(1/a,y)=d(b,x)+C_1,y) )); #dsolve1(a_*b_,y_,x_,1):= if(hasnot(a,y) and hasnot(b,x), block(f:=int(1/b,y)=int(a,x)+C_1,g:=solve(f,y),if(hasnot(g,y),g,f)), if(hasnot(b,y) and hasnot(a,x), block(f:=int(1/a,y)=int(b,x)+C_1,g:=solve(f,y),if(hasnot(g,y),g,f)) )); #dsolve1(b_*y_^n_, y_,x_,q_) := If(isfree(b,y),If(isfree(b,x), if(n==-1 and q==2, sqrt(-b)*exp(-inverseerf(sqrt(2)/sqrt(pi)*x+C_1)^2) and -sqrt(-b)*exp(-inverseerf(sqrt(2)/sqrt(pi)*x+C_1)^2), block(f1:=(1/b*fallingfactorial(q/(1-n),q))^(1/(n-1)),f2:=(C_1+x)^(q/(1-n)), if(iseven(q), f1*(C_1-x)^(q/(1-n)) and f1*f2, f1*f2 and if(isodd(n), -f1*f2 )))), if(n==-1, block(k:=d(b,x,q),if(k<>0 and hasnot(k,x), b/sqrt(k) and -b/sqrt(k) )), block(f2:=int(simplify(1/b),x,q),pp:=simplify(b^2*f2^n),if(pp==1,f2,if(pp==-1,-f2 ))) ))); dsolve1((c_+x_)*z_,y_,x_,p_):=if(hasnot(c,z,x),block(f1:=dsolve(x*z,y,x,p), replace(f1,x,c+x)) ); dsolve1((c_+x_)^n_*z1_,y_,x_,p_):=if(hasnot(c,x),block(f1:=dsolve(x^n*z1,y,x,p), replace(f1,x,c+x)) ); dsolve1(b_*(c_+y_)^n_, y_,x_,p_) := if(d(c,x,p)==0, if(hasnot(b,y), block(f1:=dsolve(b*y^n,y,x,p), if(-left(f1)==right(f1), left(f1)-c and right(f1)-c,f1-c )), if(n>0,-c))); dsolve1(b_*(c_+a_*y_)^n_, y_,x_,p_) := if(hasnot(a,x) and d(c,x,p)==0, if(hasnot(b,y), block(f1:=dsolve(b*a^n*y^n,y,x,p), if(-left(f1)==right(f1), left(f1)-c/a and right(f1)-c/a,f1-c/a )), if(n>0,-c/a))); dsolve1(b_*(c_+y_), y_,x_,p_) := if(d(c,x,p)==0, if(hasnot(b,y), block(f1:=dsolve(b*y,y,x,p), if(-left(f1)==right(f1), left(f1)-c and right(f1)-c,f1-c )), -c)); dsolve1(b*(c_+a_*y_), y_,x_,p_) := if(hasnot(a,x) and d(c,x,p)==0, if(hasnot(b,y), block(f1:=dsolve(b*y,y,x,p), if(-left(f1)==right(f1), left(f1)/sqrt(a)-c/a and right(f1)/sqrt(a)-c/a,f1/sqrt(a)-c/a )), -c/a)); dsolve1((c_+y_)*z_,y_,x_,p_):=if(isconstant(c), dsolve(y*z,y,x,p)-c ); dsolve1(a_*(b_+c_+f1_),y_,x_,p_):= if(isconstant(a),dsolve(a*b+a*c+a*f1,y,x,p) ); dsolve1(m_/n_,y_,x_,q_) := if(abs(q)<=1 and has(n,y), if(hasnot(m,x),dsolve(expand(replace(n,x,zz)/m),zz,y,q)=x, block(f2:=(d(m,y)+d(n,x)), if(f2==0,block(p:=int(n,y),p-int(m+d(p,x),x)=C_1), if(hasnot(simplify(-f2/n),y),block(f1:=exp(int(simplify(-f2/n),x)),p:=int(f1*n,y), expand(p-int(f1*m+d(p,x),x))=-C_1), if(hasnot(simplify(-f2/m),x),block(f1:=exp(int(simplify(-f2/m),y)),p:=int(f1*n,y), expand(p-int(f1*m+d(p,x),x))=-C_1) )) )))); dsolve1(n_/m_,y_,x_,q_) :=if(abs(q)<=1 and has(m,x) and has(m,y), if(hasnot(n,x), dsolve(expand(replace(m,x,zz)/n),zz,y,q)=x, block(f2:=(d(n,y)+d(m,x)), if(f2==0,block(p:=int(m,y),p-int(n+d(p,x),x)=C_1), if(hasnot(simplify(-f2/m),y),block(f1:=exp(int(simplify(-f2/m),x)),p:=int(f1*m,y), expand(p-int(f1*n+d(p,x),x))=-C_1), if(hasnot(simplify(-f2/n),x),block(f1:=exp(int(simplify(-f2/n),y)),p:=int(f1*m,y), expand(p-int(f1*n+d(p,x),x))=-C_1) )) )))); dsolve1(b_*y_, y_,x_,p_) := if(hasnot(b,y), gsolution(b,y,x,p)); dsolve1(y_/b_, y_,x_,q_) := if(abs(q)<=1 and has(b,y),if(has(b,x), dsolve(replace(b/y,x,zz),zz,y,q)=x )); dsolve1(1/b_, y_,x_,q_) := if(abs(q)<=1 and has(b,y),if(has(b,x), dsolve(replace(b,x,zz),zz,y,q)=x )); dsolve1(b_*y_^n_, y_,x_,q_) := If(isfree(b,y),If(isfree(b,x), if(n==-1 and q==2, -sqrt(-b)*exp(-inverseerf(sqrt(2)/sqrt(pi)*x+C_1)^2) and sqrt(-b)*exp(-inverseerf(sqrt(2)/sqrt(pi)*x+C_1)^2), block(f1:=(1/b*fallingfactorial(q/(1-n),q))^(1/(n-1)),f2:=(C_1+x)^(q/(1-n)), if(iseven(q), f1*(C_1-x)^(q/(1-n)) and f1*f2, f1*f2 and if(isodd(n), -f1*f2 )))), if(n==-1, block(dd:=d(b,x,q),if(dd<>0 and hasnot(dd,x), -b/sqrt(dd) and b/sqrt(dd) )), block(f2:=int(simplify(1/b),x,q),pp:=simplify(b^2*f2^n),if(pp==1,f2,if(pp==-1,-f2 ))) ))); #dsolve1(m_/n_,y_,x_,p_) :=if(p>0 and p<=1 and has(n,x) and has(n,y), block(f2:=(d(m,y,p)+d(n,x,p)), if(f2==0,block(f1:=int(n,y,p),f1-int(m+d(f1,x,p),x,p)=C_1), if(hasnot(simplify(-f2/n),y),block(f1:=exp(int(simplify(-f2/n),x,p)),pp:=int(f1*n,y), pp-int(f1*m+d(pp,x,p),x,p)=C_1), if(hasnot(simplify(-f2/m),x),block(f1:=exp(int(simplify(-f2/m),y,p)),pp:=int(f1*n,y), pp-int(f1*m+d(pp,x,p),x,p)=C_1) )) ))); #dsolve1(n_/m_,y_,x_,p_) :=if(p>0 and p<=1 and has(m,x) and has(m,y), block(f2:=(d(n,y,p)+d(m,x,p)), if(f2==0,block(f1:=int(m,y,p),f1-int(n+d(f1,x,p),x,p)=C_1), if(hasnot(simplify(-f2/m),y),block(f1:=exp(int(simplify(-f2/m),x,p)),pp:=int(f1*m,y), pp-int(f1*n+d(pp,x,p),x)=C_1), if(hasnot(simplify(-f2/n),x),block(f1:=exp(int(simplify(-f2/n),y,p)),pp:=int(f1*m,y), pp-int(f1*n+d(pp,x,p),x)=C_1) )) ))); #dsolve1(a_+exp(c_+y_), y_,x_,p_) := if(hasnot(a,y) and d(c,x,p)==0, dsolve(a+exp(y),y,x,p)-c ); #dsolve1(a_+b_*exp(c_+y_), y_,x_,p_) := if(hasnot(a,b,y) and d(c,x,p)==0, dsolve(a+b*exp(y),y,x,p)-c ); #dsolve1(exp(c_+y_)*z_, y_,x_,p_) := if(hasnot(z,y) and d(c,x,p)==0, dsolve(exp(y)*z,y,x,p)-c ); #dsolve1(exp(c_+x_)*z_, y_,x_,p_) := if(hasnot(z,x), replace(dsolve(exp(x)*z,y,x,p),x,x+c) ); dsolve1(exp(xx_+yy_)*z_, y_,x_,1) := if(hasnot(xx,z,y) and hasnot(yy,x), solve(int(exp(-yy),y)=int(exp(xx)*z,x)-C_1,y), if(hasnot(xx,y) and hasnot(yy,z,x), solve(int(exp(-yy)/z,y)=int(exp(xx),x)-C_1,y) )); dsolve1(a_*exp(xx_+yy_), y_,x_,1) := if(hasnot(a,xx,y) and hasnot(yy,x), solve(int(exp(-yy),y)=int(a*exp(xx),x)-C_1,y), if(hasnot(xx,y) and hasnot(a,yy,x), solve(int(exp(-yy)/a,y)=int(exp(xx),x)-C_1,y) )); #dsolve1(b_/y_, y_,x_,2) := if(isconstant(b), -sqrt(-b)*exp(-inverseerf(sqrt(2)/sqrt(pi)*x+C_1)^2) and sqrt(-b)*exp(-inverseerf(sqrt(2)/sqrt(pi)*x+C_1)^2) ); dsolve1(b_*y(p_,x_)^n_,y_,x_,q_):= if(isfree(b,y),if(isfree(b,x), if(n== -1, gsolution(0,y,x,p)+sqrt(b/(fallingfactorial((p+q)/2,p)*fallingfactorial((p+q)/2,q)))*(C_1+x)^((p+q)/2), b^(1/(1-n))*int(dsolve(y^n,y,x,q-p),x,p)+gsolution(0,y,x,p) ), if(q-p==1,block(f2:=int(C_1-(n-1)*int(b,x)^(1/(1-n)),x,p), f2 and if(isodd(n), -f2)+gsolution(0,y,x,p)) )), if(hasnot(b,x) and n<>2, int(((2-n)*int(b,y,q-p)+C_1)^(1/(n-q)),y,p)=C_2+x )); #dsolve(b_*y(p_,x_)^n_,y_,x_,q_):= if(isfree(b,y),if(isfree(b,x), if(n== -1, gsolution(0,y,x,p)+sqrt(b/(fallingfactorial((p+q)/2,p)*fallingfactorial((p+q)/2,q)))*(C_1+x)^((p+q)/2), b^(1/(1-n))*int(dsolve(y^n,y,x,q-p),x,p)+gsolution(0,y,x,p) ), if(hasnot(b,x) and n<>2, int(((2-n)*int(b,y,q-p)+C_1)^(1/(n-q)),y,p)=C_2+x ))); #dsolve(b_/y(p_,x_),y_,x_,q_):= if(hasnot(b,x),C_2+sqrt(b/(fallingfactorial((p+q)/2,p)*fallingfactorial((p+q)/2,q)))*(C_1+x)^((p+q)/2), if(has(b,y) and hasnot(b,x), int(1/cbrt(C_1+int(b,y)),y)=cbrt(3)*x+C_2, if(has(b,x) and hasnot(b,y), C_2-int(sqrt(C_1+2int(b,x)),x,p) and C_2+int(sqrt(C_1+2int(b,x)),x,p) ))); #dsolve(a_/y(p_,x_),y_,x_,q_) := if(hasnot(a,y),-int(sqrt(C_1+2int(a,x,q-p)),x,p)+gsolution(0,y,x,p) and int(sqrt(C_1+2int(a,x,q-p)),x,p)+gsolution(0,y,x,p) ); dsolve1(b_/y(p_,x_),y_,x_,q_) := if(has(b,y) and hasnot(b,x), int(1/cbrt(C_2+3int(b,y,p)),y)=C_1+x, if(hasnot(b,y), if(q-p==1, gsolution(0,y,x,p)-int(sqrt(C_1+2int(b,x)),x,p) and gsolution(0,y,x,p)+int(sqrt(C_1+2int(b,x)),x,p), int(dsolve(b/y,y,x,q-p),x,p)+gsolution(0,y,x,p) ))); dsolve1(b_*y(p_,x_),y_,x_,q_):= if(hasnot(b,y), gsolution(b,p,0,y,x,q) ); dsolve1(b_*y(1,x_)^n_,y_,x_,2) := if(hasnot(b,y),int(solve(dsolve(b*y^n,y,x,1),y),x)+C_2 ); dsolve1(b_*y(1,x_)^2,y_,x_,2):=if(hasnot(b,y),if(hasnot(b,x), C_2 - log(C_1 - b*x)/b and C_2 - log(C_1 + b*x)/b, int(1/(C_1-int(b,x)),x)+C_2), int(exp(-int(b,y)),y)=C_2+C_1*x); #dsolve1(f1_*y(1,x_)^2,y_,x_,2):= if(hasnot(f1,y), int(1/(C_1-int(f1,x)),x)+C_2, int(exp(-int(f1,y)),y)=C_2+C_1*x ); #dsolve1(b_/y(1,x_),y_,x_,3):= if(hasnot(b,x), C_2-sqrt(-b*pi)/2erf(sqrt(2)*inverseerf(C_1+x*sqrt(2sgn(b))/sqrt(pi))) and C_2+sqrt(-b*pi)/2erf(sqrt(2)*inverseerf(C_1+x*sqrt(2sgn(b))/sqrt(pi))) ); dsolve1(b_*y(1,x_),y_,x_,2):=if(has(b,y) and hasnot(b,x), int(1/(C_2+int(b,y)),y)=C_1+x, int(exp(int(b,x)),x)*C_2+C_1 ); #3x; #dsolve1(a_*b_*c_,y_,x_,1):= if(hasnot(a,y) and hasnot(b,c,x), block(f:=int(1/b/c,y)=int(a,x)+C_1,g:=solve(f,y),if(hasnot(g,y),g,f)), if(hasnot(b,y) and hasnot(a,c,x), block(f:=int(1/a/c,y)=int(b,x)+C_1,g:=solve(f,y),if(hasnot(g,y),g,f)) )); dsolve1(a_*b_*c_,y_,x_,1):= if(hasnot(a,y) and hasnot(b,c,x), block(f:=int(1/b/c,y)=int(a,x)+C_1,g:=solve(f,y),if(hasnot(g,y),g,f)), if(hasnot(b,y) and hasnot(a,c,x), int(1/a/c,y)=int(b,x)+C_1 )); dsolve1(a_*(c_+y_)*z_,y_,x_,q_) := if(isconstant(c),dsolve(a*y*z,y,x,q)-c); dsolve1(a_*(c_+b_*y_)*z_,y_,x_,q_) := if(isconstant(b,c),dsolve(a*b*y*z,y,x,q)-c/b); dsolve1(a_*(c_+y_)^n_*z_,y_,x_,q_) := if(isconstant(c),dsolve(a*y^n*z,y,x,q)-c); dsolve1(a_*(c_+b_*y_)^n_*z_,y_,x_,q_) := if(isconstant(b,c),dsolve(a*b^n*y^n*z,y,x,q)-c/b); dsolve1(a_*y_^n_/(b_+z_),y_,x_,1) := if(isconstant(a) and has(b+z,x) and has(b+z,y) and d(b+z,x,2)==0, dsolve(expand(b/a/y^n+z/a/y^n),x,y,1) ); dsolve1(a_*y_/(b_+z_),y_,x_,q_) := if(isconstant(a) and has(b+z,x) and has(b+z,y) and d(b+z,x,2)==0 and abs(q)<=1, dsolve(expand(b/a/y+z/a/y),x,y,q) ); dsolve1(1/x_*y_/(c_+y_),y_,x_,1):= if(isconstant(c), c*W(C_1*x^(1/c)) ); dsolve1(b_*y(p_,x_)^n_,y_,x_,q_):= if(isfree(b,y),if(isfree(b,x), if(n== -1, gsolution(0,y,x,p)+sqrt(b)/sqrt(fallingfactorial((p+q)/2,p)*fallingfactorial((p+q)/2,q))*(C_1+x)^((p+q)/2), if(q-p==1,block(p:=int((C_1-(n-1)*integrate(b,x))^(1/(1-n)),x,p), if(isodd(n), -p and p, p)+gsolution(0,y,x,p)), int(dsolve(b*y^n,y,x,q-p),x,p)+gsolution(0,y,x,p))), if(hasnot(b,x) and n<>2, int(((2-n)*int(b,y,q-p)+C_1)^(1/(n-q)),y,p)=C_2+x ))); dsolve1(b_/y(p_,x_),y_,x_,q_) := if(has(b,y) and hasnot(b,x), int(1/cbrt(C_1+3int(b,y,p)),y)=C_1+x, if(hasnot(b,y), if(q-p==1, gsolution(0,y,x,p)-int(sqrt(C_1+2int(b,x)),x,p) and gsolution(0,y,x,p)+int(sqrt(C_1+2int(b,x)),x,p), block(f2:=int(dsolve(b/y,y,x,q-p),x,p), gsolution(0,y,x,p)+f2) ))); dsolve1(b_/y(1,x_),y_,x_,2) := if(has(b,y) and hasnot(b,x), int(1/cbrt(C_1+int(b,y)),y)=cbrt(3)*C_1+x, if(has(b,x) and hasnot(b,y), C_1-int(sqrt(C_1+2int(b,x)),x) and C_1+int(sqrt(C_1+2int(b,x)),x) )); dsolve1(b_*y(1,x_)^2,y_,x_,2):=if(hasnot(b,y),if(hasnot(b,x), C_2 - log(C_1 - b*x)/b and C_2 - log(C_1 + b*x)/b, C_1 and -int(1/int(b,x),x)+C_1) ); #dsolve1(a_*b_*c_,y_,x_,1):=if(hasnot(a,y) and has(b,c,y) and hasnot(b,c,x), int(1/b/c,y)=int(a,x)+C_1, if(has(a,y) and hasnot(a,x) and has(b,x) and hasnot(b,c,y), int(1/a,y)=int(b*c,x)+C_1 )); #2+; dsolve1(a_ and b_, y_,x_,p_) := dsolve(a, y,x,p) and dsolve(b, y,x,p); dsolve1(a_ and b_ and c_ and d_, y_,x_,p_) := dsolve(a, y,x,p) and dsolve(b, y,x,p) and dsolve(c, y,x,p) and dsolve(d, y,x,p); dsolve1(a_+z_, x_,y_,q_) := if(hasnot(z,x) and d(a,x,2)==0, gsolution(d(a,x),x,y,q)+psolution(d(a,x),z,x,y,q), if(hasnot(a,x) and d(z,x,2)==0, gsolution(d(z,x),x,y,q)+psolution(d(z,x),a,x,y,q) )); dsolve1(a_*x_+z_, x_,y_,q_) := if(hasnot(z,x), x=gsolution(a,x,y,q)+psolution(a,z,x,y,q)); dsolve1(c_+y_^m_, y_,x_,p_) := if(p>1 and has(c,x),block(s:=solve(y^m+c,y), if(hasnot(d(s,x,round(p-0.6)),x), s))); dsolve1(c_+b_*y_^m_, y_,x_,p_) := if(p>1 and has(c,x),block(s:=solve(y^m+c/b,y), if(hasnot(d(s,x,round(p-0.6)),x), s))); dsolve1(a_+y_, y_,x_,q_) := if(hasnot(a,y), gsolution(1,y,x,q)+If(q>0 and isfree(a,x),-a,psolution(1,a,y,x,q)) ); dsolve1(a_+b_*y_, y_,x_,q_) := if(hasnot(a,y), gsolution(b,y,x,q)+psolution(b,a,y,x,q)); dsolve1(a_*z_+y_*z_, y_,x_,q_) := if(hasnot(a,y), gsolution(z,y,x,q)+psolution(1,a,y,x,q)); dsolve1(a_*z_+b_*y_*z_, y_,x_,q_) := if(hasnot(a,y), gsolution(b*z,y,x,q)+psolution(b,a,y,x,q)); dsolve1(a_*y_+y_, y_,x_,q_) := If(isfree(a,y), C_1*mittag(q,int(a+1,x,q)*q!) ); dsolve1(a_+(c_+x_)*z_,y_,x_,p_):=if(hasnot(a,c,z,x),block(f1:=dsolve(a+x*z,y,x,p), replace(f1,x,c+x)) ); #3+; dsolve1(x_+xx_+z_,y_,x_,p_):=if(has(z,y) and hasnot(xx,y), block(f:=solve(z+x,y),if(d(f,x,p)==xx,f)), if(has(xx,y) and hasnot(z,y), block(f:=solve(xx+x,y),if(d(f,x,p)==z,f)) )); dsolve1(c_*x_+xx_+z_,y_,x_,p_):= if(has(z,y) and hasnot(xx,y), block(f:=solve(z+c*x,y),if(d(f,x,p)==xx,f)), if(has(xx,y) and hasnot(z,y), block(f:=solve(xx+c*x,y),if(d(f,x,p)==z,f)) )); dsolve1(a_+x_+z_,y_,x_,p_):= if(has(z,y) and hasnot(a,y), block(f:=solve(z+x,y),if(d(f,x,p)==a,f)), if(has(a,y) and hasnot(z,y), block(f:=solve(a+x,y),if(d(f,x,p)==z,f)) )); dsolve1(a_+c_*x_+z_,y_,x_,p_):= if(has(z,y) and hasnot(a,y) and isconstant(c), block(f:=solve(z+c*x,y),if(d(f,x,p)==a,f)), if(has(a,y) and hasnot(z,y), block(f:=solve(a+c*x,y),if(d(f,x,p)==z,f)) )); dsolve1(a_+b_+x_,y_,x_,p_):=if(has(a,y) and hasnot(b,y), block(f:=solve(a+x,y),if(d(f,x,p)==b,f)), if(has(b,y) and hasnot(a,y), if(hasnot(a,x), replace(dsolve(b+x,y,x,p),x,a+x), block(f:=solve(b+x,y),if(d(f,x,p)==a,f)) ))); dsolve1(a_+b_+c_*x_,y_,x_,p_):=if(has(a,y) and hasnot(b,y), block(f:=solve(a+c*x,y),if(d(f,x,p)==b,f)), if(has(b,y) and hasnot(a,y) and isconstant(c), if(hasnot(a,x), replace(dsolve(b+c*x,y,x,p),x,a/c+x), block(f:=solve(b+c*x,y),if(d(f,x,p)==a,f)) ))); #y; dsolve1(y(p_,x_)^m_+b_,y_):= if(hasnot(b,y), block(f1:=int((-b)^(1/m),x,p)+gsolution(0,y,x,p), f1 and if(iseven(m), -f1)), dsolve((-b)^(1/m),y,x,p) ); dsolve1(a_*y(p_,x_)^m_+b_,y_):= if(hasnot(a,b,y), block(f1:=int((-b/a)^(1/m),x,p)+gsolution(0,y,x,p), f1 and if(iseven(m), -f1)), dsolve((-b/a)^(1/m),y,x,p) ); dsolve1(a_+y(q_,x_),y_):= dsolve1(-a,y,x,q); dsolve1(a_+b_*y(q_,x_),y_):= dsolve1(-a/b,y,x,q); dsolve1(y(p_,x_)^m_+b_*y(p_,x_)+cc_,y_):=if(hasnot(b,y),int(solve(y^m+b*y+cc,y),x,p)); #dsolve1(y(p_,x_)^2+b_*y(p_,x_)+c_,y_):= if(hasnot(b,c,y),C_1-int(b/2+sqrt(b*b/4-c),x,p) and C_1+int(-b/2+sqrt(b*b/4-c),x,p), expand(dsolve(-b/2-(b*b/4-c)^0.5,y,x,p)) ); dsolve1(y_+x_*y(1,x_)+c_, y_):= if(hasnot(c,y),C_1/x-int(c,x)/x, if(has(c,x*y),replace(int(1/replace(c,x*y,z),z),z,x*y)=C_1-x )); dsolve1(yy1_+yy2_+y_+f_,y_):= if(isconstant(f), dsolve(yy1+yy2+y,y)-f ); dsolve1(yy1_+yy2_+c_*y_+f_,y_):= if(isconstant(c,f), dsolve(yy1+yy2+c*y,y)-f/c ); dsolve1(a_=b_,y_):=dsolve1(replace(toy(a-b),y(x),y),y); dsolve1(a_):=dsolve1(replace(toy(a),y(x),y),y);