Added Feb. 17, 2019.
Chapter 4.1.1 example 1 from Handbook of first order partial differential equations by Polyanin, Zaitsev, Moussiaux.
Solve for \(w(x,y)\)
\[ w_x + a y w_y = b y^2 w \]
Mathematica ✓
ClearAll["Global`*"]; pde = D[w[x, y], x] + a*y*D[w[x, y], y] == b*y^2*w[x, y]; sol = AbsoluteTiming[TimeConstrained[DSolve[pde, w[x, y], {x, y}], 60*10]];
\[\left \{\left \{w(x,y)\to e^{\frac {b y^2}{2 a}} c_1\left (y e^{-a x}\right )\right \}\right \}\]
Maple ✓
restart; pde := diff(w(x,y),x) +a*y*diff(w(x,y),y) = b*y^2*w(x,y); cpu_time := timelimit(60*10,CodeTools[Usage](assign('sol',pdsolve(pde,w(x,y)) ),output='realtime'));
\[w \left (x , y\right ) = \mathit {\_F1} \left (y \,{\mathrm e}^{-a x}\right ) {\mathrm e}^{\frac {b y^{2}}{2 a}}\]
____________________________________________________________________________________
Added Feb. 17, 2019.
Chapter 4.1.1 example 2 from Handbook of first order partial differential equations by Polyanin, Zaitsev, Moussiaux.
Solve for \(w(x,y)\)
\[ w_x + a y w_y = b e^{\lambda x} y w \]
Mathematica ✓
ClearAll["Global`*"]; pde = D[w[x, y], x] + a*y*D[w[x, y], y] == b*Exp[lambda*x]*y*w[x, y]; sol = AbsoluteTiming[TimeConstrained[DSolve[pde, w[x, y], {x, y}], 60*10]];
\[\left \{\left \{w(x,y)\to c_1\left (y e^{-a x}\right ) e^{\frac {b y e^{\lambda x}}{a+\lambda }}\right \}\right \}\]
Maple ✓
restart; pde := diff(w(x,y),x) +a*y*diff(w(x,y),y) = b*exp(lambda*x)*y*w(x,y); cpu_time := timelimit(60*10,CodeTools[Usage](assign('sol',pdsolve(pde,w(x,y)) ),output='realtime'));
\[w \left (x , y\right ) = \mathit {\_F1} \left (y \,{\mathrm e}^{-a x}\right ) {\mathrm e}^{\frac {b y \,{\mathrm e}^{\lambda x}}{a +\lambda }}\]
____________________________________________________________________________________
Added Feb. 17, 2019.
Chapter 4.1.1 example 3 from Handbook of first order partial differential equations by Polyanin, Zaitsev, Moussiaux.
Solve for \(w(x,y)\)
\[ w_x + a w_y = b w \]
Mathematica ✓
ClearAll["Global`*"]; pde = D[w[x, y], x] + a*D[w[x, y], y] == b*w[x, y]; sol = AbsoluteTiming[TimeConstrained[DSolve[pde, w[x, y], {x, y}], 60*10]];
\[\left \{\left \{w(x,y)\to e^{b x} c_1(y-a x)\right \}\right \}\]
Maple ✓
restart; pde := diff(w(x,y),x) +a*diff(w(x,y),y) = b*w(x,y); cpu_time := timelimit(60*10,CodeTools[Usage](assign('sol',pdsolve(pde,w(x,y)) ),output='realtime'));
\[w \left (x , y\right ) = \mathit {\_F1} \left (-a x +y \right ) {\mathrm e}^{b x}\]
____________________________________________________________________________________