# How to solve a system of two equations and two variables in function of others terms?

I want to Find C1 and C2 in terms of a and e from the following system of equations:

60 + 31 a + 4 a^2 + 4 C1 C2 (4 + a) (873 + 444 a + 56 a^2) e + 128 C1^2 C2^2 (3 + a) (4 + a) (9 + 2 a) (33 + 8 a) e^2 - 3072 C1^3 C2^3 (4 + a)^2 (9 + 2 a)^3 e^3 == 0

60 + 31 a + 4 a^2 + C1 C2 (4 + a) (3267 + 8 a (207 + 26 a)) e + 16 C1^2 C2^2 (4 + a) (9 + 2 a) (837 + 468 a + 64 a^2) e^2 - 4 C1^3 C2^3 (4 + a) (9 + 2 a)^2 (18333 + 8472 a + 976 a^2) e^3 == 0


When I used "Solve",

Solve[{60 + 31 a + 4 a^2 + 4 C1 C2 (4 + a) (873 + 444 a + 56 a^2) e +
128 C1^2 C2^2 (3 + a) (4 + a) (9 + 2 a) (33 + 8 a) e^2 -
3072 C1^3 C2^3 (4 + a)^2 (9 + 2 a)^3 e^3 == 0, 60 + 31 a + 4 a^2 + C1 C2 (4 + a) (3267 + 8 a (207 + 26 a)) e + 16 C1^2 C2^2 (4 + a) (9 + 2 a) (837 + 468 a + 64 a^2) e^2 - 4 C1^3 C2^3 (4 + a) (9 + 2 a)^2 (18333 + 8472 a + 976 a^2) e^3 == 0}, {C1, C2}]


I got: {}

Thanks for helping!!!

• Use Reduce[eqns, {C1, C2}] Commented Jan 13, 2019 at 18:56
• Each of the two equations is a cubic in C1*C2. In general, the two equations have no common roots, so Solve returns an empty set, { }. At least one of the two parameters a and e must assume a special value for the solution set not to be empty. See SolveAlways. Commented Jan 13, 2019 at 23:46
• Please do not use tags unrelated to the problem that are you asking about. Commented Jan 21, 2019 at 15:56

These are two second order polynomials and they may have no common zero in the complex variables C1, C2, in general. . But conditions for two solutions can be derived

A = 60 + 31 a + 4 a^2 + 4 C1 C2 (4 + a) (873 + 444 a + 56 a^2) e +
128 C1^2 C2^2 (3 + a) (4 + a) (9 + 2 a) (33 + 8 a) e^2 -
3072 C1^3 C2^3 (4 + a)^2 (9 + 2 a)^3 e^3;

B = 60 + 31 a + 4 a^2 + C1 C2 (4 + a) (3267 + 8 a (207 + 26 a)) e +
16 C1^2 C2^2 (4 + a) (9 + 2 a) (837 + 468 a + 64 a^2) e^2 -
4 C1^3 C2^3 (4 + a) (9 + 2 a)^2 (18333 + 8472 a + 976 a^2) e^3;.


By inspection A=B=0, if e == 0 || a == -4, so drop one power of both and look for zeros of the common Grobner basis.

A' = 60 + 31 a + 4 a^2 + 4 C1 C2 (873 + 444 a + 56 a^2) +
128 C1^2 C2^2 (3 + a) (9 + 2 a) (33 + 8 a) e -
3072 C1^3 C2^3 (4 + a) (9 + 2 a)^3 e^2;

B' = 60 + 31 a + 4 a^2 + C1 C2 (3267 + 8 a (207 + 26 a)) +
16 C1^2 C2^2 (9 + 2 a) (837 + 468 a + 64 a^2) e -
4 C1^3 C2^3 (9 + 2 a)^2 (18333 + 8472 a + 976 a^2) e^2;

GrB = GroebnerBasis[{A', B'}, {C1, C2}] // FullSimplify;

Length[GrB]
6


The Groebner Basis consists of a constant, three linear and two polynomial expressions in C1, C2

Union/@(Cases[#,C1^_|C2^_|C1|C2,\[Infinity]] &/@GrB)
{{},{C1,C2},{C1,C2},{C1,C2},{C1,C1^2,C2,C2^2},{C1,C1^2,C1^3,C2,C2^2,C2^3}}

(csol = Solve[GrB[[1]] == 0] // FullSimplify)


The constant term has to vanish.

  (csol = Solve[GrB[[1]] == 0] // FullSimplify)

{C1 C2 (7 + 32 C1 C2 e) == 0,  C1 C2 (29 + 4 C1 C2 e (44 + 61 C1 C2 e))}

{C1 C2 (7 + 32 C1 C2 e) == 0, C1 C2 (29 + 4 C1 C2 e (44 + 61 C1 C2 e))}

results = {0 == A', 0 == B'} /. csol // Simplify;

(Print[#->TimeConstrained[Reduce[#],2]];&) /@ results;

{C1 C2 (7+32 C1 C2 e)==0,
C1 C2 (29+176 C1 C2 e+244 C1^2 C2^2 e^2)==0}->C1==0||C2==0
{C1 C2 (1+12 C1 C2 e)==0,C1 C2 (1+12 C1 C2 e)==0}->(C2 e!=0&&
C1==-(1/(12 C2 e)))||C1==0||C2==0

... ->$$Aborted ... ->$$Aborted
{27360745562500+492157017515625 C1 C2+147305118372624 C1^3 C2^3==2022161548617000 C1^2 C2^2,
27360745562500+319918881515625 C1 C2 + 147305118372624 C1^3 C2^3==
1439346073977000 C1^2 C2^2} -> C2!=0&&C1==298900/(1011411 C2)

• Might be easier to get the necessary conditions just usint GroebnerBasis in one go. In[523]:= gb = GroebnerBasis[polys, {C1, C2, e, a}]; Factor[gb[[1]]] Out[524]= (4 + a) (15 + 4 a)^3 (32833431 + 32585652 a + 12056508 a^2 + 1971552 a^3 + 120256 a^4) Commented Apr 23, 2023 at 20:12

Using the comments by @BobHanlon and @bbgodfrey one can replace C1*C2 with C12 as the product of C1 and C2 is all you can uniquely identify.

eq1 = 60 + 31 a + 4 a^2 + 4 C1 C2 (4 + a) (873 + 444 a + 56 a^2) e +
128 C1^2 C2^2 (3 + a) (4 + a) (9 + 2 a) (33 + 8 a) e^2 -
3072 C1^3 C2^3 (4 + a)^2 (9 + 2 a)^3 e^3 == 0;

eq2 = 60 + 31 a + 4 a^2 + C1 C2 (4 + a) (3267 + 8 a (207 + 26 a)) e +
16 C1^2 C2^2 (4 + a) (9 + 2 a) (837 + 468 a + 64 a^2) e^2 -
4 C1^3 C2^3 (4 + a) (9 + 2 a)^2 (18333 + 8472 a + 976 a^2) e^3 == 0;

(* Replace C1*C2 by C12 (i.e., the product of C1 and C2 *)
eq1 = eq1 /. C1 C2 -> C12 /. C1^k_ C2^k_ -> C12^k;
eq2 = eq2 /. C1 C2 -> C12 /. C1^k_ C2^k_ -> C12^k;

(* Do some Reduce-ing *)
sol = List @@ (Reduce[{eq1, eq2}, C12] // ToRadicals // LogicalExpand);
sol = Reduce[#, {e, C12}] & /@ sol;
(sol = Reduce[{#, a ∈ Reals, e ∈ Reals, C12 ∈ Reals}] & /@ sol)//TableForm;


Making use of the comment of @bbgodfrey "Each of the two equations is a cubic in C1*C2. In general, the two equations have no common roots, so Solve returns an empty set, { }. At least one of the two parameters a and e must assume a special value for the solution set not to be empty", this can be done as follows.

eq1 = 60 + 31 a + 4 a^2 + 4 C1 C2 (4 + a) (873 + 444 a + 56 a^2) e +
128 C1^2 C2^2 (3 + a) (4 + a) (9 + 2 a) (33 + 8 a) e^2 -
3072 C1^3 C2^3 (4 + a)^2 (9 + 2 a)^3 e^3 == 0;

eq2 = 60 + 31 a + 4 a^2 + C1 C2 (4 + a) (3267 + 8 a (207 + 26 a)) e +
16 C1^2 C2^2 (4 + a) (9 + 2 a) (837 + 468 a + 64 a^2) e^2 -
4 C1^3 C2^3 (4 + a) (9 + 2 a)^2 (18333 + 8472 a + 976 a^2) e^3 == 0;

Resolve[Exists[{C1, C2}, eq1 && eq2], Complexes]


4 + a == 0 || 15 + 4 a == 0 || (32833431 + 32585652 a + 12056508 a^2 + 1971552 a^3 + 120256 a^4 == 0 && e != 0)

Resolve[Exists[{C1, C2},eq1&&eq2], Reals] // ToRadicals


(e < 0 && (a == (1/15032) 3 (-20537 - 265 Sqrt[73] - 2 Sqrt[6 (67217 - 2915 Sqrt[73])]) || a == (1/15032) 3 (-20537 - 265 Sqrt[73] + 2 Sqrt[6 (67217 - 2915 Sqrt[73])]) || a == -4 || a == (-61611 + 795 Sqrt[73] - 7516 Sqrt[1814859/7061282 + (78705 Sqrt[73])/7061282])/15032 || a == -(15/4) || a == (-61611 + 795 Sqrt[73] + 7516 Sqrt[1814859/7061282 + (78705 Sqrt[73])/7061282])/ 15032)) || (e == 0 && (a == -4 || a == -(15/4))) || (e > 0 && (a == (1/15032) 3 (-20537 - 265 Sqrt[73] - 2 Sqrt[6 (67217 - 2915 Sqrt[73])]) || a == (1/15032) 3 (-20537 - 265 Sqrt[73] + 2 Sqrt[6 (67217 - 2915 Sqrt[73])]) || a == -4 || a == (-61611 + 795 Sqrt[73] - 7516 Sqrt[1814859/7061282 + (78705 Sqrt[73])/7061282])/15032 || a == -(15/4) || a == (-61611 + 795 Sqrt[73] + 7516 Sqrt[1814859/7061282 + (78705 Sqrt[73])/7061282])/15032))