2.29.7 Problem 67

2.29.7.1 second order bessel ode
2.29.7.2 Maple
2.29.7.3 Mathematica
2.29.7.4 Sympy

Internal problem ID [13728]
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-3
Problem number : 67
Date solved : Sunday, January 18, 2026 at 09:10:46 PM
CAS classification : [[_Emden, _Fowler]]

2.29.7.1 second order bessel ode

0.163 (sec)

\begin{align*} x y^{\prime \prime }+a y^{\prime }+x^{n} b y&=0 \\ \end{align*}
Entering second order bessel ode solverWriting the ode as
\begin{align*} x^{2} y^{\prime \prime }+a x y^{\prime }+x^{n} b x y = 0\tag {1} \end{align*}

Bessel ode has the form

\begin{align*} x^{2} y^{\prime \prime }+y^{\prime } x +\left (-n^{2}+x^{2}\right ) y = 0\tag {2} \end{align*}

The generalized form of Bessel ode is given by Bowman (1958) as the following

\begin{align*} x^{2} y^{\prime \prime }+\left (1-2 \alpha \right ) x y^{\prime }+\left (\beta ^{2} \gamma ^{2} x^{2 \gamma }-n^{2} \gamma ^{2}+\alpha ^{2}\right ) y = 0\tag {3} \end{align*}

With the standard solution

\begin{align*} y&=x^{\alpha } \left (c_1 \operatorname {BesselJ}\left (n , \beta \,x^{\gamma }\right )+c_2 \operatorname {BesselY}\left (n , \beta \,x^{\gamma }\right )\right )\tag {4} \end{align*}

Comparing (3) to (1) and solving for \(\alpha ,\beta ,n,\gamma \) gives

\begin{align*} \alpha &= \frac {1}{2}-\frac {a}{2}\\ \beta &= \frac {2 \sqrt {b}}{n +1}\\ n &= -\frac {a -1}{n +1}\\ \gamma &= \frac {1}{2}+\frac {n}{2} \end{align*}

Substituting all the above into (4) gives the solution as

\begin{align*} y = c_1 \,x^{\frac {1}{2}-\frac {a}{2}} \operatorname {BesselJ}\left (-\frac {a -1}{n +1}, \frac {2 \sqrt {b}\, x^{\frac {1}{2}+\frac {n}{2}}}{n +1}\right )+c_2 \,x^{\frac {1}{2}-\frac {a}{2}} \operatorname {BesselY}\left (-\frac {a -1}{n +1}, \frac {2 \sqrt {b}\, x^{\frac {1}{2}+\frac {n}{2}}}{n +1}\right ) \end{align*}

Summary of solutions found

\begin{align*} y &= c_1 \,x^{\frac {1}{2}-\frac {a}{2}} \operatorname {BesselJ}\left (-\frac {a -1}{n +1}, \frac {2 \sqrt {b}\, x^{\frac {1}{2}+\frac {n}{2}}}{n +1}\right )+c_2 \,x^{\frac {1}{2}-\frac {a}{2}} \operatorname {BesselY}\left (-\frac {a -1}{n +1}, \frac {2 \sqrt {b}\, x^{\frac {1}{2}+\frac {n}{2}}}{n +1}\right ) \\ \end{align*}
2.29.7.2 Maple. Time used: 0.029 (sec). Leaf size: 71
ode:=x*diff(diff(y(x),x),x)+a*diff(y(x),x)+b*x^n*y(x) = 0; 
dsolve(ode,y(x), singsol=all);
 
\[ y = \left (\operatorname {BesselY}\left (\frac {a -1}{n +1}, \frac {2 \sqrt {b}\, x^{\frac {n}{2}+\frac {1}{2}}}{n +1}\right ) c_2 +\operatorname {BesselJ}\left (\frac {a -1}{n +1}, \frac {2 \sqrt {b}\, x^{\frac {n}{2}+\frac {1}{2}}}{n +1}\right ) c_1 \right ) x^{-\frac {a}{2}+\frac {1}{2}} \]

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 
   <- No Liouvillian solutions exists 
-> Trying a solution in terms of special functions: 
   -> Bessel 
   <- Bessel successful 
<- special function solution successful
 
2.29.7.3 Mathematica. Time used: 0.076 (sec). Leaf size: 165
ode=x*D[y[x],{x,2}]+a*D[y[x],x]+b*x^n*y[x]==0; 
ic={}; 
DSolve[{ode,ic},y[x],x,IncludeSingularSolutions->True]
 
\begin{align*} y(x)&\to \left (\frac {1}{n}+1\right )^{\frac {a-1}{n+1}} n^{\frac {a-1}{n+1}} b^{\frac {1-a}{2 n+2}} \left (x^n\right )^{-\frac {a-1}{2 n}} \left (c_2 \operatorname {Gamma}\left (\frac {-a+n+2}{n+1}\right ) \operatorname {BesselJ}\left (\frac {1-a}{n+1},\frac {2 \sqrt {b} \left (x^n\right )^{\frac {n+1}{2 n}}}{n+1}\right )+c_1 \operatorname {Gamma}\left (\frac {a+n}{n+1}\right ) \operatorname {BesselJ}\left (\frac {a-1}{n+1},\frac {2 \sqrt {b} \left (x^n\right )^{\frac {n+1}{2 n}}}{n+1}\right )\right ) \end{align*}
2.29.7.4 Sympy
from sympy import * 
x = symbols("x") 
a = symbols("a") 
b = symbols("b") 
n = symbols("n") 
y = Function("y") 
ode = Eq(a*Derivative(y(x), x) + b*x**n*y(x) + x*Derivative(y(x), (x, 2)),0) 
ics = {} 
dsolve(ode,func=y(x),ics=ics)
 
TypeError : invalid input: 1 - a
 
Python version: 3.12.3 (main, Aug 14 2025, 17:47:21) [GCC 13.3.0] 
Sympy version 1.14.0
 
classify_ode(ode,func=y(x)) 
 
('factorable', '2nd_linear_bessel', '2nd_power_series_regular')