# Solving a single-variable equation mixed with exponential and algebraic

Trying to solve for x

Solve[((a - 1) (1 + d x^2))/(a (Exp[b x + c] - 1)) - e == 0, x]


in terms of the constants a,b,c,d, and e.

Mathematica says

"This system cannot be solved with the methods available to Solve. >>".

Any help will be much appreciated.

• I'm not sure what might comprise a viable solution. About the best to hope for might be a function that, given numerical values for the parameters {a,b,c,d,e}, returns a numerical solution (or perhaps more than one, say, all solutions in a specified interval). Such could be fashioned from FindRoot or perhaps Solve. – Daniel Lichtblau Mar 24 '15 at 21:09

This expression can be simplified substantially as follows. Beginning with

((a - 1) (1 + d x^2))/(a (Exp[b x + c] - 1)) - e


multiply the expression by its denominator and Simplify

Numerator[Together[%]]
(* -1 + a + a*e - a*e*E^(c + b*x) - d*x^2 + a*d*x^2 *)

Collect[b^2/(d (a - 1)) %, x^2, Simplify]
(* (b^2*(-1 + a*(1 + e - e*E^(c + b*x))))/((-1 + a)*d) + b^2*x^2 *)


Next, replace x by y/b

% /. x -> y/b
(* (b^2*(-1 + a*(1 + e - e*E^(c + y))))/((-1 + a)*d) + y^2 *)


and introduce new constants that aggregate the old ones

{s, r} = Simplify[CoefficientList[%[], Exp[y]]]
(* {(b^2*(-1 + a + a*e))/((-1 + a)*d), (a*b^2*e*E^c)/(d - a*d)} *)


With these substitutions, the original equation becomes

s + r Exp[y] + y^2 == 0


Even though now there are but two independent parameters, r and s, Solve and Reduce nonetheless cannot make progress. However, a numerical solution is obtained easily.

ContourPlot3D[s+ Exp[y] r + y^2 == 0, {r, -2, 2}, {s, -2, 2}, {y, -2, 2},
AxesLabel -> {r, s, b x}, ImageSize -> 500, Mesh -> None,
BaseStyle -> Directive[Bold, FontSize -> 14]] 