2.27.9 Problem 9

2.27.9.1 Maple
2.27.9.2 Mathematica
2.27.9.3 Sympy

Internal problem ID [13670]
Book : Handbook of exact solutions for ordinary differential equations. By Polyanin and Zaitsev. Second edition
Section : Chapter 2, Second-Order Differential Equations. section 2.1.2 Equations Containing Power Functions. page 213
Problem number : 9
Date solved : Friday, December 19, 2025 at 10:20:03 AM
CAS classification : [[_2nd_order, _with_linear_symmetries]]

\begin{align*} y^{\prime \prime }-a \,x^{n -2} \left (x^{n} a +n +1\right ) y&=0 \\ \end{align*}
2.27.9.1 Maple. Time used: 0.026 (sec). Leaf size: 100
ode:=diff(diff(y(x),x),x)-a*x^(-2+n)*(a*x^n+n+1)*y(x) = 0; 
dsolve(ode,y(x), singsol=all);
 
\[ y = n \left (a \,x^{n}+\frac {n}{2}-\frac {1}{2}\right ) x^{-\frac {3 n}{2}+\frac {1}{2}} c_2 \operatorname {WhittakerM}\left (-\frac {1}{2}-\frac {1}{2 n}, -\frac {1}{2 n}+1, \frac {2 x^{n} a}{n}\right )+\frac {c_2 \,x^{-\frac {3 n}{2}+\frac {1}{2}} \left (-1+n \right )^{2} \operatorname {WhittakerM}\left (-\frac {1}{2 n}+\frac {1}{2}, -\frac {1}{2 n}+1, \frac {2 x^{n} a}{n}\right )}{2}+c_1 x \,{\mathrm e}^{\frac {x^{n} a}{n}} \]

Maple trace

Methods for second order ODEs: 
--- Trying classification methods --- 
trying a symmetry of the form [xi=0, eta=F(x)] 
checking if the LODE is missing y 
-> Trying an equivalence, under non-integer power transformations, 
   to LODEs admitting Liouvillian solutions. 
   -> Trying a Liouvillian solution using Kovacics algorithm 
      A Liouvillian solution exists 
      Reducible group (found an exponential solution) 
      Group is reducible, not completely reducible 
   <- Kovacics algorithm successful 
<- Equivalence, under non-integer power transformations successful
 
2.27.9.2 Mathematica
ode=D[y[x],{x,2}]-a*x^(n-2)*(a*x^n+n+1)*y[x]==0; 
ic={}; 
DSolve[{ode,ic},y[x],x,IncludeSingularSolutions->True]
 

Not solved

2.27.9.3 Sympy
from sympy import * 
x = symbols("x") 
a = symbols("a") 
n = symbols("n") 
y = Function("y") 
ode = Eq(-a*x**(n - 2)*(a*x**n + n + 1)*y(x) + Derivative(y(x), (x, 2)),0) 
ics = {} 
dsolve(ode,func=y(x),ics=ics)
 
TypeError : Add object cannot be interpreted as an integer