I am solving a physical problem, where I try to solve analytically a transcendental equation of type:

$$ \log (y)-a y=b, $$

here $a$ and $b$ are constants.

The problem is that I get a solution but with an error message who indicate that some solutions may not be found:

Solve[Log[y] - a y == b, y]

(* {{y -> -(ProductLog[-a E^b]/a)}} *)
(* Solve::ifun: Inverse functions are being used by Solve, so some solutions may not be found; use Reduce for complete solution information. *) 

Is this the right solution? Please how to found it?

  • $\begingroup$ Note that in Mathematica Log[y] is a natural logarithm of y. A logarithm with base 10 is Log10[y] or Log[10,y] $\endgroup$
    – user45937
    Jul 7, 2018 at 0:07
  • $\begingroup$ yes, I know it @roman465. Thank you. $\endgroup$
    – Gallagher
    Jul 7, 2018 at 0:12
  • 1
    $\begingroup$ If you look at the result of Simplify[Reduce[Log[y] - a y == b, y]] then you might learn a little more about this. If you know that your constants are Real then you can let Reduce and Simplify know that and they might do an even better job of helping you understand the results. $\endgroup$
    – Bill
    Jul 7, 2018 at 1:05
  • $\begingroup$ If you plot Log[y] and a+b y you can see that, depanding on a,b, there exist no, one or two intersections (roots of the equation). $\endgroup$ Jul 7, 2018 at 12:53

1 Answer 1


You can use it, but you need to know that


gives the principal solution for w in z==we^w. After all use

Solve[Log[y] - a y == b, y] // Quiet
  • $\begingroup$ Thank you @Alex Trounev, so this solution is sufficient. But how to get all solutions please? $\endgroup$
    – Gallagher
    Jul 7, 2018 at 11:39
  • $\begingroup$ @Gallagher, to get all solutions, you need to use the other branches of ProductLog[]; look up the documentation for this. $\endgroup$ Apr 17, 2020 at 13:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.