# Help solving complicated polynomial equation

I am trying to solve the following two equations, but I am having troubles doing so.

Equation 1 :

eq1[n_] :=
2.21355*10^(-16)/((1 - n)^2)*(1024/5 + 3*7133.17 n^2) -
4.42709*10^(-16)/((1 - n)^3)*(1024/5*n + 7133.17 n^3) ;
Solve[eq1[n] == 0, n]


If I can find an "n", I would then plug it into the following equation and solve for V.

eq2[n_] := 1024/5*n + 7133.17 n^3 -
0.06287*V^2*2.21355*10^(-16)/((1 - n)^2);

Solve[eq2[nFound] == 0, V]


Sorry, I am not very sure what you want to ask. Maybe you want to substitute the solution of the first equation into the second equation? Then you can do this.

eq1[n_] :=
2.21355*10^(-16)/((1 - n)^2)*(1024/5 + 3*7133.17 n^2) -
4.42709*10^(-16)/((1 - n)^3)*(1024/5*n + 7133.17 n^3);
ansList = Values@Solve[eq1[n] == 0, n]

eq2[n_] :=
1024/5*n + 7133.17 n^3 - 0.06287*V^2*2.21355*10^(-16)/((1 - n)^2);

Solve[eq2[#] == 0, V] & /@ ansList


You also can use the following code to get the value of n.

sol=Solve[eq1[n] == 0, n]
nList=n/.sol


That's all. Please enjoy the fun of Mathematica.

• Thanks ! This was exactly what I was looking for. – james Dec 16 '18 at 9:13
• Never thought about using the Values function in this context. Thanks for the new idea! – Thies Heidecke Dec 16 '18 at 14:02

Solve can handle simultaneous equations. Solve is an exact solver so use Rationalze to provide exact numbers as input. Solve will work without doing this but will provide a warning that it did it internally. Or use NSolve.

eq1[n_] :=
Evaluate[2.21355*10^(-16)/((1 - n)^2)*(1024/5 + 3*7133.17 n^2) -
4.42709*10^(-16)/((1 - n)^3)*(1024/5*n + 7133.17 n^3) //
Rationalize[#, 0] & // Simplify];

eq2[n_] := Evaluate[1024/5*n + 7133.17 n^3 -
0.06287*V^2*2.21355*10^(-16)/((1 - n)^2) // Rationalize[#, 0] &];

Solve[{eq1[n] == 0, eq2[n] == 0}, {n, V}] // N

(* {{n -> 0.00634203 + 0.0986751 I,
V -> -7.58581*10^8 - 6.22509*10^8 I}, {n -> 0.00634203 + 0.0986751 I,
V -> 7.58581*10^8 + 6.22509*10^8 I}, {n -> 0.00634203 - 0.0986751 I,
V -> 7.58581*10^8 - 6.22509*10^8 I}, {n -> 0.00634203 - 0.0986751 I,
V -> -7.58581*10^8 + 6.22509*10^8 I}, {n -> 0.587316,
V -> -4.37685*10^9}, {n -> 0.587316, V -> 4.37685*10^9}} *)


For real solutions

Solve[{eq1[n] == 0, eq2[n] == 0}, {n, V}, Reals] // N

(* {{n -> 0.587316, V -> -4.37685*10^9}, {n -> 0.587316, V -> 4.37685*10^9}} *)


For real, positive solutions

Solve[{eq1[n] == 0, eq2[n] == 0, V > 0}, {n, V}] // N

(* {{n -> 0.587316, V -> 4.37685*10^9}} *)

• This is a great answer ! Thank you very much ! – james Dec 17 '18 at 14:24
• How would you do it with Rationalize ? – james Dec 17 '18 at 14:42
• Look at the definition of eq1 above. At the end you will see that Rationalize and Simplify are used. Since SetDelayed ( := ) is used in the definition rather than Set ( = ), Evaluate is used to have these evaluated at the time of definition rather than for each use of the function eq1. Similarly for eq2 except Simplify wasn't needed. Read the documentation for each of these functions. – Bob Hanlon Dec 17 '18 at 15:52