2.28.41 Problem 51

2.28.41.1 Maple
2.28.41.2 Mathematica
2.28.41.3 Sympy

Internal problem ID [13712]
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-2
Problem number : 51
Date solved : Friday, December 19, 2025 at 11:01:20 AM
CAS classification : [[_2nd_order, _with_linear_symmetries]]

\begin{align*} y^{\prime \prime }+\left (x^{n} a +2 b \right ) y^{\prime }+\left (a b \,x^{n}-a \,x^{n -1}+b^{2}\right ) y&=0 \\ \end{align*}
2.28.41.1 Maple. Time used: 0.030 (sec). Leaf size: 134
ode:=diff(diff(y(x),x),x)+(a*x^n+2*b)*diff(y(x),x)+(a*b*x^n-a*x^(n-1)+b^2)*y(x) = 0; 
dsolve(ode,y(x), singsol=all);
 
\[ y = c_1 x \,{\mathrm e}^{-x b}+c_2 \,x^{-\frac {3 n}{2}-1} \left (\left (n +1\right ) \left (a \,x^{n} x +n \right ) \operatorname {WhittakerM}\left (\frac {-2-n}{2+2 n}, \frac {2 n +1}{2+2 n}, \frac {a \,x^{n} x}{n +1}\right )+n^{2} \operatorname {WhittakerM}\left (\frac {n}{2+2 n}, \frac {2 n +1}{2+2 n}, \frac {a \,x^{n} x}{n +1}\right )\right ) {\mathrm e}^{-\frac {x \left (a \,x^{n}+2 b \left (n +1\right )\right )}{2+2 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.28.41.2 Mathematica
ode=D[y[x],{x,2}]+(a*x^n+2*b)*D[y[x],x]+(a*b*x^n-a*x^(n-1)+b^2)*y[x]==0; 
ic={}; 
DSolve[{ode,ic},y[x],x,IncludeSingularSolutions->True]
 

Not solved

2.28.41.3 Sympy
from sympy import * 
x = symbols("x") 
a = symbols("a") 
b = symbols("b") 
n = symbols("n") 
y = Function("y") 
ode = Eq((a*x**n + 2*b)*Derivative(y(x), x) + (a*b*x**n - a*x**(n - 1) + b**2)*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