# Solving an equation takes too long

I am trying to solve the following equation func[a, b, c, d, e] == 0 where

func[a_, b_, c_, d_, e_] = -c + 1.77109 Sqrt[c] (1/Sqrt[c] + 1/Sqrt[d])^(1/3) - 1.1501 a c
(1/Sqrt[c] + 1/Sqrt[d])^(2/3) - 2 Sqrt[c] Sqrt[d] + 1.77109 (1/Sqrt[c] + 1/Sqrt[d])^
(1/3) Sqrt[d] - 2.3 a Sqrt[c] (1/Sqrt[c] + 1/Sqrt[d])^(2/3) Sqrt[d] - d -
1.1501 a (1/Sqrt[c] + 1/Sqrt[d])^(2/3) d + c e + (d e)/(-1 + e) + Sqrt[2] b c e^2 -
(Sqrt[2] b d e^2)/(-1 + e)^2;


using Solve as follows:

Solve[func[a, b, c, d, e] == 0 && 10000 > c > 1 && 1000 > e > 1 && 1000 > d > 1  &&
-3 < a < 3 && -3 < b < 3, c, Reals]


but it is taking too long and still running (more than 2 days).

Do I miss something or is it to be expected?

• So… you want to express c in terms of the other variables? – J. M. is away Jun 4 '15 at 8:45
• Only numericall. – Mariusz Iwaniuk Jun 4 '15 at 10:21
• Yes exactly, I want c in terms of other variables. – HMK Jun 4 '15 at 12:54

While it seems obvious that no good can come of trying to analytically solve this mess, lets do a variable substitution:

 Collect[Simplify[
Numerator@
Together[
FullSimplify[ func[a, b, (Sqrt[d]/(-1 + Sqrt[d] z))^2 , d, e],
Assumptions -> {z > 1/Sqrt[d], d > 0}] /. z -> z3^3],
Assumptions -> z3 > 0], z3]


I won't even post the result, but what you have is an 8th order polynomial. So, in principle if you let Solve go at it for eons it will generate an enormous collection of Root expressions, which are effectively useless until you substitute numeric values. All that is to say forget about analytic solutions and use FindRoot.

If you just want an example for a root you can put in some numbers and use:

 FindRoot[func[1, 1, c, 2, 2], {c, 3}]


{c -> 3.3652}

• Thank you, but I am trying to find a general solution c=g(a,b,d,e) – HMK Jun 4 '15 at 12:59