Mathematica Stack Exchange is a question and answer site for users of Mathematica. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am trying to solve the following system of two equations for x and y. The solutions for x and y have to be positive and the parameters s and c are positive (to have a coherent interpretation of my problem). Could anyone please help me?

eq1 := (2 + 12*s)/(9*x^2) + (4*Sqrt[2*s])/(9*x^2*y) - (4*Sqrt[2*s])/( 9*x^3) - k

eq2 := (1 + 3*Sqrt[2*s] - 6*s)/(9*y^2) + (2*Sqrt[2*s])/(9*y^2*x) - (2*Sqrt[2*s])/(9*y^3) - k

Solve[{eq1 == 0, eq2 == 0}, {x, y}, Positive]
share|improve this question
Positive is not a legitimate domain as the 3rd argument to Solve. What, exactly, is intended to be positive -- just the desired values of x` and y? If so, how do you expect Mathematica to do that when you don't say anything about the values of k? (Or by 'c` do you actually mean k?) – murray Apr 8 '14 at 16:55
If you multiply each equation by the greatest common denominator of its terms, you'll see that in fact you have a pair of fourth degree equations, not third degree. – murray Apr 8 '14 at 17:00
Let's try an example: s = 4; k = 1;. Then Reduce[{eq1 == 0, eq2 == 0}, {x, y}, Reals] yields a set of solutions involving Root expressions for eight degree polynomials! – murray Apr 8 '14 at 17:07
I doubt you'll be able to enforce positivity of solutions without specifying actual values for the parameters. – Daniel Lichtblau Apr 8 '14 at 21:34

Here is a way of finding the general solution of your equations:

Define the expressions

expr1 = (2 + 12*s)/(9*x^2) + (4*Sqrt[2*s])/(9*x^2*y) - (4*Sqrt[2*s])/(9*x^3) - k;
expr2 = (1 + 3*Sqrt[2*s] - 6*s)/(9*y^2) + (2*Sqrt[2*s])/(9*y^2*x) - (2*Sqrt[2*s])/(9*y^3) - k;

Solve for y in terms of x.

ysol = Solve[expr1 == 0, y]

(* {{y -> (4 Sqrt[2] Sqrt[s] x)/(4 Sqrt[2] Sqrt[s] - 2 x - 12 s x + 9 k x^3)}} *)

Solve for x.

xsol = Solve[expr2 == 0 /. ysol, x]

(* <large Root expressions> *)

Verify the solutions.

{expr1, expr2} /. ysol /. xsol // FullSimplify

(* {{{0, 0}}, {{0, 0}}, {{0, 0}}, {{0, 0}}, {{0, 0}}, {{0, 0}}, {{0, 0}}, {{0, 0}}} *)
share|improve this answer
But this does still not give any closed-form explicit solution, as the solution still involves Root objects. – murray Apr 8 '14 at 20:52
It depends what you mean by "closed-form explicit"! I sense that you actually want a solution expressed in terms of "elementary" functions, but in this case you are out of luck because the polynomial degree is too high. – Stephen Luttrell Apr 8 '14 at 21:58
I suspect that the O.P. did expect to obtain such a "closed-form explicit". While I'm well aware of Abel's Theorem prohibiting a "general formula" for higher-degree polynomial equations, particular higher-order polynomial equations can be solved, and it might have been the case that the particular system about which the O.P. asked would lead to such. – murray Apr 9 '14 at 3:31
Many thanks for your insights. The variables (x and y) and parameters (s and c) have to be positive. I think will not be able to get a general solution for this system. – user13544 Apr 9 '14 at 11:35
Please don't add "thank you" as an answer. Once you have sufficient reputation, you will be able to vote up questions and answers that you found helpful. – Dr. belisarius Apr 9 '14 at 12:01

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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