1 (load("contrib_ode"),0);
4 /* ODE tests - Murphy equations 2.1 - 2.100
7 G M Murphy, Ordinary Differential Equations and Their
8 Solutions, Van Nostrand, 1960, pp 15-23
10 First Order and Second or Higher Degree, p278 ff
13 /* Don't kill(all); It messes up trigsimp */
15 /* Eliminate parameter t from singular solution */
16 (elim_(ans,x,y,t):=block([s],s:first(solve(ans[2],t)),s:solve(ev(ans[1],s),y),s[1]),done);
20 (pn_(n_):=print("Murphy ODE 2.",n_),true);
24 assume(not(equal(n,-2)));
26 (pn_(1),ans:contrib_ode(eqn:'diff(y,x)^2=a*x^n,y,x));
27 [-(((n+2)*y+2*x*sqrt(a*x^n))/(n+2))=%c];
29 [y=-((2*x*sqrt(a*x^n)+%c*n+2*%c)/(n+2))];
30 [method,ode_check(eqn,%[1])];
32 forget(not(equal(n,-2)));
36 (pn_(2),ans:contrib_ode(eqn:'diff(y,x)^2=y,y,x));
37 [4*y-x^2+2*%c*x-%c^2=0];
39 [y=(x^2-2*%c*x+%c^2)/4];
40 [method,ode_check(eqn,%[1])];
44 (pn_(3),ans:contrib_ode(eqn:'diff(y,x)^2=x-y,y,x));
45 [[x=%c-2*(log(%t-1)+%t),y=x-%t^2]]; /* Correct */
49 /* 4 Very long "answer" from ode1_lie */
50 /* (pn_(4),ans:contrib_ode(eqn:'diff(y,x)^2=x^2+y,y,x)); */
52 /* 5 Very long "answer" from ode1_lie */
53 /* (pn_(5),ans:contrib_ode(eqn:'diff(y,x)^2+x^2=4*y,y,x)); */
55 /* 6 Very long "answer" from ode1_lie */
56 /* (pn_(6),ans:contrib_ode(eqn:'diff(y,x)^2+3*x^2=8*y,y,x)); */
58 /* 7 ode1_lie takes forever */
59 /* (pn_(7),ans:contrib_ode(eqn:'diff(y,x)^2+a*x^2+b*y=0,y,x)); */
62 (pn_(8),ans:contrib_ode(eqn:'diff(y,x)^2=1+y^2,y,x));
63 [[x=%c-log(2*sqrt(%t^2-1)+2*%t),y=-sqrt(%t^2-1)],[x=log(2*sqrt(%t^2-1)+2*%t)+%c,y=sqrt(%t^2-1)]];
68 (pn_(9),ans:contrib_ode(eqn:'diff(y,x)^2=1-y^2,y,x));
69 [[x = asin(%t)+%c,y = -sqrt(1-%t^2)],[x=%c-asin(%t),y=sqrt(1-%t^2)]];
73 y = -sqrt(1-sin(x-%c)^2); /* y = sin(x+%c) */
74 [method,ode_check(eqn,ans)];
76 /* ans[2] has %c -> -%c */
77 /* Other solutions y=1, y=-1 */
80 (pn_(10),ans:contrib_ode(eqn:'diff(y,x)^2=a^2-y^2,y,x));
81 [[x=asin(%t/abs(a))+%c,y=-sqrt(a^2-%t^2)],[x=%c-asin(%t/abs(a)),y=sqrt(a^2-%t^2)]];
83 [%t = abs(a)*sin(x-%c)];
85 y=-sqrt(a^2-a^2*sin(x-%c)^2);
86 [method,ode_check(eqn,ans)];
88 /* Solutions in Murphy are
89 y=(a*(1-%c^2)*sin(x)+2*%c*a*cos(x))/(1+%c^2))
95 (pn_(11),ans:contrib_ode(eqn:'diff(y,x)^2=a^2*y^2,y,x));
96 [y = %c*%e^(a*x),y = %c*%e^-(a*x)];
97 [method,ode_check(eqn,ans[1]),ode_check(eqn,ans[2])];
103 (pn_(12),ans:contrib_ode(eqn:'diff(y,x)^2=a+b*y^2,y,x));
104 [[x=%c-log(2*sqrt(%t^2-a)+2*%t)/sqrt(b),y=-sqrt(%t^2-a)/sqrt(b)],[x=log(2*sqrt(%t^2-a)+2*%t)/sqrt(b)+%c,y=sqrt(%t^2-a)/sqrt(b)]]; /* CHECKME */
111 (pn_(13),ans:contrib_ode(eqn:'diff(y,x)^2=x^2*y^2,y,x));
112 [y = %c*%e^(x^2/2),y = %c*%e^-(x^2/2)];
113 [method,ode_check(eqn,ans[1]),ode_check(eqn,ans[2])];
116 /* 14 FIXME: crashes ode1_lagrange */
117 /* (pn_(14),ans:contrib_ode(eqn:'diff(y,x)^2=(y-1)*y^2,y,x)); */
119 /* 15 ode1_lagrange takes "forever" */
120 /* (pn_(15),ans:contrib_ode(eqn:'diff(y,x)^2=(y-a)*(y-b)*(y-c),y,x)); */
122 /* 16 ode1_lagrange returns a "solution" */
123 /* (pn_(16),ans:contrib_ode(eqn:'diff(y,x)^2=a^2*y^n,y,x)); */
125 /* 17 ode1_lie crashes */
126 /* (pn_(17),ans:contrib_ode(eqn:'diff(y,x)^2=a^2*(1-log(y)^2)*y^2,y,x)); */
128 /* 18 to 24 are very (too?) general */
131 (pn_(25),ans:contrib_ode(eqn:'diff(y,x)^2+2*'diff(y,x)+x=0,y,x));
132 [-((3*y+sqrt(1-x)*(2*x-2)+3*x)/3) = %c];
134 [y = -(((2*sqrt(1-x)+3)*x-2*sqrt(1-x)+3*%c)/3)];
135 [method,ode_check(eqn,%)];
139 (pn_(26),ans:contrib_ode(eqn:'diff(y,x)^2-2*'diff(y,x)+a*(x-y)=0,y,x),0);
141 [method,ode_check(eqn,ans[1])];
143 /* Murphy gives a*(C+x)^2=4*(C+y), a*y=1+a*x */
146 (pn_(27),ans:contrib_ode(eqn:'diff(y,x)^2-2*'diff(y,x)-y^2=0,y,x));
147 [[x=-log(2*sqrt(%t^2-2*%t)+2*%t-2)+sqrt(%t^2-2*%t)/%t+%c,y=-sqrt(%t^2-2*%t)],[x=log(2*sqrt(%t^2-2*%t)+2*%t-2)-sqrt(%t^2-2*%t)/%t+%c,y=sqrt(%t^2-2*%t)]];
148 method; /* CHECKME */
152 (pn_(28),ans:contrib_ode(eqn:'diff(y,x)^2-5*'diff(y,x)+6=0,y,x));
154 [method,ode_check(eqn,ans[1]),ode_check(eqn,ans[2])];
158 (pn_(29),ans:contrib_ode(eqn:'diff(y,x)^2-7*'diff(y,x)+12=0,y,x));
160 [method,ode_check(eqn,ans[1]),ode_check(eqn,ans[2])];
165 (pn_(30),ans:contrib_ode(eqn:'diff(y,x)^2+a*'diff(y,x)+b=0,y,x));
166 [-((2*y+sqrt(a^2-4*b)*x+a*x)/2) = %c];
168 [y = -(((sqrt(a^2-4*b)+a)*x+2*%c)/2)];
169 [method,ode_check(eqn,%)];
173 (pn_(31),ans:contrib_ode(eqn:'diff(y,x)^2+a*'diff(y,x)+b*x=0,y,x));
174 [-((12*b*y+sqrt(a^2-4*b*x)*(4*b*x-a^2)+6*a*b*x)/(12*b)) = %c];
176 [y = -((sqrt(a^2-4*b*x)*(4*b*x-a^2)+6*a*b*x+12*%c*b)/(12*b))];
177 [method,ode_check(eqn,%)];
181 (pn_(32),ans:contrib_ode(eqn:'diff(y,x)^2+a*'diff(y,x)+b*y=0,y,x));
182 [[x=%c-((log(%t)*a+2*%t)/b),y = -((%t*a+%t^2)/b)]]; /* Correct */
187 (pn_(33),ans:contrib_ode(eqn:'diff(y,x)^2+x*'diff(y,x)+1=0,y,x));
188 [-((4*y-4*log(2*sqrt(x^2-4)+2*x)+x*sqrt(x^2-4)+x^2)/4)=%c];
190 [y=(4*log(2*sqrt(x^2-4)+2*x)-x*sqrt(x^2-4)-x^2-4*%c)/4];
191 [method,ode_check(eqn,%)];
195 (pn_(34),ans:contrib_ode(eqn:'diff(y,x)^2+x*'diff(y,x)-y=0,y,x));
196 [y=%c*x+%c^2,y=-x^2/4];
197 [method,ode_check(eqn,ans[1]),ode_check(eqn,ans[2])];
201 (pn_(35),ans:contrib_ode(eqn:'diff(y,x)^2-x*'diff(y,x)+y=0,y,x));
202 [y=%c*x-%c^2,y=x^2/4];
203 [method,ode_check(eqn,ans[1]),ode_check(eqn,ans[2])];
207 (pn_(36),ans:contrib_ode(eqn:'diff(y,x)^2-x*'diff(y,x)-y=0,y,x));
208 [[x=%e^-(log(%t)/2)*(2*%e^(3*log(%t)/2)/3+%c),y=%t^2-%t*x]];
210 [[x=(2*%t^(3/2)+3*%c)/(3*sqrt(%t)),y=%t^2-%t*x]];
211 ans:ans,3*%c=%c; /* change constant */
212 [[x=(2*%t^(3/2)+%c)/(3*sqrt(%t)),y=%t^2-%t*x]];
213 ans[1][2]:ans[1][2],ans[1][1];
214 y=%t^2-sqrt(%t)*(2*%t^(3/2)+%c)/3;
216 [[3*x = 2*%t+%c/sqrt(%t),3*y = %t^2-%c*sqrt(%t)]]; /* correct */
221 (pn_(37),ans:contrib_ode(eqn:'diff(y,x)^2+x*'diff(y,x)+x-y=0,y,x));
222 [[x=%e^-%t*(%c-2*(%t-1)*%e^%t),y = (%t+1)*x+%t^2]];
223 ans[1][2]:ans[1][2],ans[1][1];
224 y=(%t+1)*%e^-%t*(%c-2*(%t-1)*%e^%t)+%t^2;
226 [[x=%c*%e^-%t-2*%t+2,y=%c*%t*%e^-%t+%c*%e^-%t-%t^2+2]]; /* correct */
231 (pn_(38),ans:contrib_ode(eqn:'diff(y,x)^2+(1-x)*'diff(y,x)+y=0,y,x));
232 [y=%c*x-%c-%c^2,y=(x^2-2*x+1)/4];
233 [method,ode_check(eqn,ans[1]),ode_check(eqn,ans[2])];
237 (pn_(39),ans:contrib_ode(eqn:'diff(y,x)^2-(1+x)*'diff(y,x)+y=0,y,x));
238 [y=%c*x-%c^2+%c,y=(x^2+2*x+1)/4];
239 [method,ode_check(eqn,ans[1]),ode_check(eqn,ans[2])];
243 (pn_(40),ans:contrib_ode(eqn:'diff(y,x)^2-(2-x)*'diff(y,x)+1-y=0,y,x));
244 [y=%c*x+%c^2-2*%c+1,y=-((x^2-4*x)/4)];
245 [method,ode_check(eqn,ans[1]),ode_check(eqn,ans[2])];
249 (pn_(41),ans:contrib_ode(eqn:'diff(y,x)^2+(a+x)*'diff(y,x)-y=0,y,x));
250 [y=%c*x+%c*a+%c^2,y=-((x^2+2*a*x+a^2)/4)];
251 [method,ode_check(eqn,ans[1]),ode_check(eqn,ans[2])];
255 (pn_(42),ans:contrib_ode(eqn:'diff(y,x)^2-2*x*'diff(y,x)+1=0,y,x));
256 [-((2*y-log(2*sqrt(x^2-1)+2*x)+x*sqrt(x^2-1)-x^2)/2)=%c];
258 [y=(log(2*sqrt(x^2-1)+2*x)-x*sqrt(x^2-1)+x^2-2*%c)/2];
259 [method,ode_check(eqn,%)];
263 (pn_(43),ans:contrib_ode(eqn:'diff(y,x)^2+2*x*'diff(y,x)-3*x^2=0,y,x));
264 [y = x^2/2+%c,y = %c-3*x^2/2];
265 [method,ode_check(eqn,ans[1]),ode_check(eqn,ans[2])];
269 (pn_(44),ans:contrib_ode(eqn:'diff(y,x)^2*x*'diff(y,x)-y=0,y,x));
270 [[x = %c*%e^-(3*log(%t^2-1)/2),y = %t^3*x]]; /* parametric soln */
271 first(solve(ans[1][1]^2,%t));
272 %t=-sqrt(x^(2/3)+%c^(2/3))/x^(1/3);
274 y=-(x^(2/3)+%c^(2/3))^(3/2);
275 [method,ode_check(eqn,ans)];
279 (pn_(45),ans:contrib_ode(eqn:'diff(y,x)^2+2*x*diff(y,x)-y=0,y,x));
280 [4*y-x^2+2*%c*x-%c^2=0];
282 [y = (x^2-2*%c*x+%c^2)/4];
283 [method,ode_check(eqn,ans[1])];
287 (pn_(46),ans:contrib_ode(eqn:'diff(y,x)^2-2*x*'diff(y,x)+2*y=0,y,x));
288 [y=(2*%c*x-%c^2)/2,y=x^2/2];
289 [method,ode_check(eqn,ans[1]),ode_check(eqn,ans[2])];
293 (pn_(47),ans:contrib_ode(eqn:'diff(y,x)^2+(1+2*x)*diff(y,x)-x*(1-x)=0,y,x));
294 [-((8*y+asin(2*x-1)+(4*x-2)*sqrt(x-x^2))/8) = %c];
296 [y = -((asin(2*x-1)+(4*x-2)*sqrt(x-x^2)+8*%c)/8)];
297 [method,radcan(ode_check(eqn,%))];
301 (pn_(48),ans:contrib_ode(eqn:'diff(y,x)^2+(1-x)*diff(y,x)-2*(x-y)=0,y,x));
302 [-((2*sqrt(x-y)-sqrt(2)*log(sqrt(2)*sqrt(x-y)+1)-sqrt(2)*x)/sqrt(2))=%c];
303 [method,ode_check(eqn,ans[1])];
307 (pn_(49),ans:contrib_ode(eqn:'diff(y,x)^2+3*x*'diff(y,x)-y=0,y,x));
308 [[x = %e^-(3*log(%t)/2)*(%c-2*%e^(5*log(%t)/2)/5),y = 3*%t*x+%t^2]]; /* CHECKME */
313 (pn_(50),ans:contrib_ode(eqn:'diff(y,x)^2-4*(1+x)*'diff(y,x)+4*y=0,y,x));
314 [y=(4*%c*x-%c^2+4*%c)/4,y=x^2+2*x+1];
315 [method,ode_check(eqn,ans[1]),ode_check(eqn,ans[2])];
319 assume(4*c+a^2>0,b>0);
321 (pn_(51),ans:contrib_ode(eqn:'diff(y,x)^2+a*x*'diff(y,x)=b+c*x^2,y,x));
322 [-((sqrt(4*c+a^2)*(4*y+a*x^2)+4*b*asinh(sqrt(4*c+a^2)*x/(2*sqrt(b)))+sqrt(4*c+a^2)*x*sqrt((4*c+a^2)*x^2+4*b))/(4*sqrt(4*c+a^2)))=%c];
324 [y = -((4*b*asinh(sqrt(4*c+a^2)*x/(2*sqrt(b)))+sqrt(4*c+a^2)*x*sqrt(4*c*x^2+a^2*x^2+4*b)+a*sqrt(4*c+a^2)*x^2+4*%c*sqrt(4*c+a^2))/(4*sqrt(4*c+a^2)))];
325 [method,ode_check(eqn,%[1])];
327 forget(4*c+a^2>0,b>0);
331 (pn_(52),ans:contrib_ode(eqn:'diff(y,x)^2-a*x*'diff(y,x)+a*y=0,y,x));
332 [y=(%c*a*x-%c^2)/a,y=a*x^2/4];
333 [method,ode_check(eqn,ans[1]),ode_check(eqn,ans[2])];
336 /* 53 ode1_lie takes forever */
337 /* (pn_(53),ans:contrib_ode(eqn:'diff(y,x)^2+a*x*'diff(y,x)+b*x^2+c*y=0,y,x));*/
340 (pn_(54),ans:contrib_ode(eqn:'diff(y,x)^2+(a+b*x)*'diff(y,x)+c=b*y,y,x));
341 [y=(%c*b*x+c+%c*a+%c^2)/b,y=-((b^2*x^2+2*a*b*x-4*c+a^2)/(4*b))];
342 [method,ode_check(eqn,ans[1]),ode_check(eqn,ans[2])];
345 /* 55 ode1_lie takes forever */
346 /*(pn_(55),ans:contrib_ode(eqn:'diff(y,x)^2-2*x^2*'diff(y,x)+2*x*y=0,y,x));*/
348 /* 56 ode1_lie takes forever */
349 /*(pn_(56),ans:contrib_ode(eqn:'diff(y,x)^2-a*x^2*'diff(y,x)+b*x*y=0,y,x));*/
352 (pn_(57),ans:contrib_ode(eqn:'diff(y,x)^2-a*x^3*'diff(y,x)+2*a*x^2*y=0,y,x));
353 [-((sqrt(a)*sqrt(a^2*x^4-8*a*y)-a^(3/2)*x^2)/(sqrt(3)*a)) = %c];
354 solve(ans[1],sqrt(a^2*x^4-8*a*y));
355 [sqrt(a^2*x^4-8*a*y) = (a^(3/2)*x^2-sqrt(3)*%c*a)/sqrt(a)];
357 a^2*x^4-8*a*y = (a^(3/2)*x^2-sqrt(3)*%c*a)^2/a;
359 [y=(2*sqrt(3)*%c*a^(5/2)*x^2-3*%c^2*a^2)/(8*a^2)];
360 [method,ode_check(eqn,ans[1])];
363 /* 58 ode1_lie takes forever */
364 /* (pn_(58),ans:contrib_ode(eqn:'diff(y,x)^2-a*x^3*'diff(y,x)+4*a*x^2*y=0,y,x));*/
367 (pn_(59),ans:contrib_ode(eqn:'diff(y,x)^2+4*x^5*'diff(y,x)-12*x^4*y=0,y,x),0);
369 [method,ode_check(eqn,ans[1])];
373 (pn_(60),ans:contrib_ode(eqn:'diff(y,x)^2+2*'diff(y,x)*cosh(x)+1=0,y,x));
374 [-%e^-x*(2*%e^x*y+2*%e^x*sinh(x)+%e^(2*x)+1)/2 = %c];
376 [y = -%e^-x*(2*%e^x*sinh(x)+%e^(2*x)+2*%c*%e^x+1)/2];
377 [method,expand(exponentialize(ode_check(eqn,%[1])))];
381 (pn_(61),ans:contrib_ode(eqn:'diff(y,x)^2+y*'diff(y,x)=x*(x+y),y,x));
382 [y = x^2/2+%c,y = %e^-x*(%c-(x-1)*%e^x)];
383 [method,ode_check(eqn,ans[1]),ode_check(eqn,ans[2])];
387 (pn_(62),ans:contrib_ode(eqn:'diff(y,x)^2-y*'diff(y,x)+exp(x)=0,y,x));
388 [2*log(sqrt(y^2-4*%e^x)+y)=%c];
390 sqrt(y^2-4*%e^x)+y=%e^(%c/2);
392 sqrt(y^2-4*%e^x)+y=%c;
396 [y=(4*%e^x+%c^2)/(2*%c)];
397 [method,ode_check(eqn,%[1])];
399 /* FIXME? y=2*sqrt(exp(x)) and y=-2*sqrt(exp(x)) are singular solutions */
402 (pn_(63),ans:contrib_ode(eqn:'diff(y,x)^2+(x+y)*'diff(y,x)+x*y=0,y,x));
403 [y = %c-x^2/2,y = %c*%e^-x];
404 [method,ode_check(eqn,ans[1]),ode_check(eqn,ans[2])];
407 /* [[x = %c-log(%t),y = -%t]];
408 ans[1][1],solve(ans[1][2],%t);
412 [method,ode_check(eqn,%[1])];
414 /* FIXME: y=(%c-x^2)/2 also a solution */
417 (pn_(64),ans:contrib_ode(eqn:'diff(y,x)^2+2*y*'diff(y,x)-2*x=0,y,x));
421 (pn_(65),ans:contrib_ode(eqn:'diff(y,x)^2+(1+2*y)*'diff(y,x)+y*(y-1)=0,y,x));
422 [[x = 2*(log(sqrt(1-8*%t)-1)/2-(3*log(sqrt(1-8*%t)+1))/2)+%c,
423 y = -((2*%t+sqrt(1-8*%t)-1)/2)],
424 [x = 2*(log(sqrt(1-8*%t)+1)/2-(3*log(sqrt(1-8*%t)-1))/2)+%c,
425 y = ((-2*%t)+sqrt(1-8*%t)+1)/2]]$
426 [method,ode_check(eqn,ans[1]),ode_check(eqn,ans[2])];
430 (pn_(66),ans:contrib_ode(eqn:'diff(y,x)^2-2*(x-y)*'diff(y,x)-4*x*y=0,y,x));
431 [y=x^2+%c,y=%c*%e^-(2*x)];
432 [method,ode_check(eqn,ans[1]),ode_check(eqn,ans[2])];
436 (pn_(67),ans:contrib_ode(eqn:'diff(y,x)^2-(1+4*y)*'diff(y,x)-(1+4*y)*y=0,y,x));
437 [[x=%c-((-asinh(%t/abs(%t)-1/(4*abs(%t)))+8*asinh((64*%t-8)/8)/2^(5/2)+log(%t))/2),
438 y=-((sqrt(32*%t^2-8*%t+1)+4*%t+1)/8)],
439 [x=%c-((asinh(%t/abs(%t)-1/(4*abs(%t)))-8*(asinh((64*%t-8)/8)/2^(5/2))+log(%t))/2),
440 y = ((sqrt(32*%t^2-8*%t+1)-4*%t-1)/8)]];
441 [method,radcan(ode_check(eqn,ans[1])),radcan(ode_check(eqn,ans[2]))];
445 (pn_(68),ans:contrib_ode(eqn:'diff(y,x)^2-2*(1-3*y)*'diff(y,x)-(4-9*y)*y=0,y,x));
446 [[x = (sqrt(2)*(-(log((2*sqrt(3*%t+2)-2^(3/2))
447 /(2*sqrt(3*%t+2)+2^(3/2)))
448 /2^(3/2))-log(3*%t)/sqrt(2)))/3+%c,
449 y = -((sqrt(2)*sqrt(3*%t+2)+3*%t-2)/9)],
450 [x = (sqrt(2)*(log((2*sqrt(3*%t+2)-2^(3/2))/(2*sqrt(3*%t+2)+2^(3/2)))
451 /2^(3/2)-log(3*%t)/sqrt(2)))/3+%c,
452 y = (sqrt(2)*sqrt(3*%t+2)-3*%t+2)/9]]$
453 [method,radcan(ode_check(eqn,ans[1])),radcan(ode_check(eqn,ans[2]))];
456 /* 69 ode1_lie takes forever */
457 /*(pn_(69),ans:contrib_ode(eqn:'diff(y,x)^2-(a+6*y)*'diff(y,x)+y(3*a+b+9*y)=0,y,x));*/
460 (pn_(70),ans:contrib_ode(eqn:'diff(y,x)^2+a*y*'diff(y,x)-a*x=0,y,x));
464 (pn_(71),ans:contrib_ode(eqn:'diff(y,x)^2-a*y*'diff(y,x)-a*x=0,y,x));
468 (pn_(72),ans:contrib_ode(eqn:'diff(y,x)^2+(a*x+b*y)*'diff(y,x)-a*b*x*y=0,y,x));
472 (pn_(73),ans:contrib_ode(eqn:'diff(y,x)^2-x*y*'diff(y,x)+y^2*log(a*y)=0,y,x));
473 [x-sqrt(x^2-4*log(a*y))=%c];
475 x^2-4*log(a*y)=(%c-x)^2;
477 a*y=%e^((x^2-(%c-x)^2)/4);
479 y=%e^((x^2-(%c-x)^2)/4)/a;
480 [method,ode_check(eqn,%)];
482 /* FIXME? there is a second solution */
484 /* 74 ode1_lie takes forever */
485 /*(pn_(74),ans:contrib_ode(eqn:'diff(y,x)^2-(1+2*x*y)*'diff(y,x)+y^2*x*y=0,y,x));*/
488 (pn_(75),ans:contrib_ode(eqn:'diff(y,x)^2-(4+y^2)*'diff(y,x)+4+y^2=0,y,x));
489 [[x=1/sqrt(%t-1)+%c,y=-((%t-2)/sqrt(%t-1))],[x=%c-1/sqrt(%t-1),y=(%t-2)/sqrt(%t-1)]];
490 solve(ans[1][1],sqrt(%t-1));
491 [sqrt(%t-1) = 1/(x-%c)];
495 y = -((1/(x-%c)^2-1)*abs(x-%c));
497 y = -((x-%c)*(1/(x-%c)^2-1));
498 [method,ode_check(eqn,ans[1]),ode_check(eqn,ans[2])];
501 /* 76 ode1_lie takes forever */
502 /*(pn_(76),ans:contrib_ode(eqn:'diff(y,x)^2-(x-y)*y*'diff(y,x)+x*y^3=0,y,x));*/
504 /* 77 ode1_lie takes forever */
505 /*(pn_(77),ans:contrib_ode(eqn:'diff(y,x)^2+x*y^2*'diff(y,x)+y^3=0,y,x));*/
507 /* 78 very long "answer" from ode1_lie */
508 /*(pn_(78),ans:contrib_ode(eqn:'diff(y,x)^2-2*x^3*y^2*'diff(y,x)+4*x^2*y^3=0,y,x));*/
511 (pn_(79),ans:contrib_ode(eqn:'diff(y,x)^2+x*y*(x^2+y^2)*'diff(y,x)+x^4*y^4=0,y,x));
512 [y=%c*%e^-(x^4/4),1/(2*y^2)=x^2/2+%c];
514 [y=-1/sqrt(x^2+2*%c),y=1/sqrt(x^2+2*%c)];
515 [method,ode_check(eqn,ans[1]),ode_check(eqn,%[1]),ode_check(eqn,%[2])];
518 /* 80 very long "answer" from ode1_lie */
519 /*(pn_(80),ans:contrib_ode(eqn:'diff(y,x)^2+x*y^3*'diff(y,x)+y^4=0,y,x));*/
521 /* 81 ode1_lie takes forever */
522 /* (pn_(81),ans:contrib_ode(eqn:'diff(y,x)^2+2*y*'diff(y,x)*cot(x)-y^2=0,y,x));*/
524 /* 82 ode1_lie takes forever */
525 /*(pn_(82),ans:contrib_ode(eqn:'diff(y,x)^2-3*x*y^(2/3)*'diff(y,x)+9*y^(5/3)=0,y,x));*/
527 /* 83 There is a typo in this eqn in Murphy. This matches the solution given
528 Very long "answer" from ode1_lie */
529 /*(pn_(83),ans:contrib_ode(eqn:'diff(y,x)^2+exp(4*x-2*y)*('diff(y,x)-1)=0,y,x));*/
532 (pn_(84),ans:contrib_ode(eqn:2*'diff(y,x)^2+x*'diff(y,x)-2*x=0,y,x));
533 [-((8*y-64*log(2*sqrt(x^2+16*x)+2*x+16)+(x+8)*sqrt(x^2+16*x)+x^2)/8) = %c];
535 [y = (64*log(2*sqrt(x^2+16*x)+2*x+16)+(-x-8)*sqrt(x^2+16*x)-x^2-8*%c)/8];
536 [method,ode_check(eqn,%)];
540 (pn_(85),ans:contrib_ode(eqn:2*'diff(y,x)^2-(1-x)*'diff(y,x)-y=0,y,x));
541 [y=%c*x+2*%c^2-%c,y=-((x^2-2*x+1)/8)];
542 [method,ode_check(eqn,ans[1]),ode_check(eqn,ans[2])];
545 /* 86 Very long "answer" from ode1_lie that doesn't satisfy ode*/
546 /*(pn_(86),ans:contrib_ode(eqn:2*'diff(y,x)^2-2*x^2*'diff(y,x)+3*x*y=0,y,x));*/
549 (pn_(87),ans:contrib_ode(eqn:2*'diff(y,x)^2-2*(6*y-1)*'diff(y,x)+3*y*(6*y-1)=0,y,x));
550 [[x=2*log(sqrt(1-8*%t)-1)/3+%c,y=-((-4*%t+sqrt(1-8*%t)-1)/12)],[x=2*log(sqrt(1-8*%t)+1)/3+%c,y=(4*%t+sqrt(1-8*%t)+1)/12]];
551 map(exp,(ans[1][1]-%c)*3/2)+1;
552 %e^(3*(x-%c)/2)+1 = sqrt(1-8*%t);
554 (%e^(3*(x-%c)/2)+1)^2=1-8*%t;
555 %,%c=-(2/3)*log(%c); /* a better constant */
556 (%e^(3*(x+2*log(%c)/3)/2)+1)^2=1-8*%t;
558 %c^2*%e^(3*x)+2*%c*%e^(3*x/2)+1 = 1-8*%t;
560 [%t=-((%c^2*%e^(3*x)+2*%c*%e^(3*x/2))/8)];
562 y=-((sqrt(%c^2*%e^(3*x)+2*%c*%e^(3*x/2)+1)+(%c^2*%e^(3*x)+2*%c*%e^(3*x/2))/2-1)/12);
564 y=-((%c^2*%e^(3*x)+4*%c*%e^(3*x/2))/24);
565 [method,ode_check(eqn,ans[1]),ode_check(eqn,ans[2])];
569 (pn_(88),ans:contrib_ode(eqn:3*'diff(y,x)^2-2*x*'diff(y,x)+y=0,y,x));
570 [4*y^3-x^2*y^2-18*%c*x*y+4*%c*x^3+27*%c^2 = 0];
575 (pn_(89),ans:contrib_ode(eqn:3*'diff(y,x)^2+4*x*'diff(y,x)+x^2-y=0,y,x),0);
577 [method,ode_check(eqn,ans[1])];
581 (pn_(90),ans:contrib_ode(eqn:4*'diff(y,x)^2=9*x,y,x));
585 [method,ode_check(eqn,%)];
588 /* 91 Very long "answer" from ode1_lie that doesn't satisfy ode */
589 /* (pn_(91),ans:contrib_ode(eqn:4*'diff(y,x)^2+2*x*exp(-2*y)*'diff(y,x)-exp(-2*y)=0,y,x));*/
592 (pn_(92),ans:contrib_ode(eqn:4*'diff(y,x)^2+2*exp(2*x-2*y)*'diff(y,x)-exp(2*x-2*y)=0,y,x));
596 (pn_(93),ans:contrib_ode(eqn:5*'diff(y,x)^2+3*x*'diff(y,x)-y=0,y,x));
597 [[x=%e^-(3*log(%t)/2)*(%c-2*%e^(5*log(%t)/2)),y=3*%t*x+5*%t^2]];
598 [method,ode_check(eqn,ans[1])];
601 /* 94 Very long "answer" from ode1_lie that doesn't satisfy ode */
602 /* (pn_(94),ans:contrib_ode(eqn:5*'diff(y,x)^2+6*x*'diff(y,x)-2*y=0,y,x)); */
604 /* 95 ode1_lie takes forever */
605 /* (pn_(95),ans:contrib_ode(eqn:9*'diff(y,x)^2+3*x*y^4*'diff(y,x)+y^5=0,y,x));*/
608 (pn_(96),ans:contrib_ode(eqn:x*'diff(y,x)^2=a,y,x));
609 [-y-2*sqrt(a/x)*x = %c];
611 [y = -2*sqrt(a/x)*x-%c];
612 [method,ode_check(eqn,%[1])];
616 (pn_(97),ans:contrib_ode(eqn:x*'diff(y,x)^2=(a-x)^2,y,x));
617 [-((3*y+sqrt(x)*(2*x-6*a))/3)=%c];
619 [y=-((2*x^(3/2)-6*a*sqrt(x)+3*%c)/3)];
620 [method,ode_check(eqn,%)];
624 (pn_(98),ans:contrib_ode(eqn:x*'diff(y,x)^2=y,y,x));
625 [x^2*(y^2+(-2*x-2*%c)*y+x^2-2*%c*x+%c^2) = 0];
626 ans:solve(expand(%[1]),y);
627 [y = -2*sqrt(%c*x)+x+%c,y = 2*sqrt(%c*x)+x+%c];
628 [method,ode_check(eqn,ans[1]),ode_check(eqn,ans[2])];
632 (pn_(99),ans:contrib_ode(eqn:x*'diff(y,x)^2+x-2*y=0,y,x));
633 [[x=%c*%e^-(2*(log(%t-1)-1/(%t-1))),y=(%t^2+1)*x/2]];
634 [method,ode_check(eqn,ans[1])];
638 (pn_(100),ans:contrib_ode(eqn:x*'diff(y,x)^2+'diff(y,x)=y,y,x));
639 [[x = (log(%t)-%t+%c)/(%t-1)^2,y = %t^2*x+%t]];
640 [method,ode_check(eqn,ans[1])];