# Why does Solve not solve these two coupled equations?

I have two simple coupled equations

eqn1 = 0 == -x + P - G x (y + 1);
eqn2 = 0 == -y + G x (y + 1);


If I use Solve[eqn1 && eqn2, y] I get no result. But I can force Mathematica to give me the result by solving eqn1 for x and then substituting that into eqn2 and solving for y

Simplify[Solve[eqn2, y] /. Solve[eqn1, x]]


which gives the result y -> (G P)/(1 + G (1 - P + y)).

Why does the single pass of Solve not work; and can I make it work?

• I think I've seen a few more problems when solving for n equations with m unknowns and m!=n
– Bill
Feb 12, 2021 at 12:44
• Try Solve[{0 == -x + P - G x (y + 1), 0 == -y + G x (y + 1)}, y, x] Feb 12, 2021 at 12:45
• @J.M. - If you use a List bracket around the eliminate variable, you can avoid a Solve::bdomv warning. That is, Solve[{0 == -x + P - G x (y + 1), 0 == -y + G x (y + 1)}, y, {x}] Feb 12, 2021 at 17:23
• @Bob, you're right; old habits... Feb 12, 2021 at 17:25

In general, this system has no solution for y. That's to be expected: usually for a system of two equations you need to solve for two variables. Solve[eqn1 && eqn2, {x, y}] yields two solutions.
eqn1 = 0 == -x + P - G x (y + 1);eqn2 = 0 == -y + G x (y + 1);

(x == 0 && P == 0 && y == 0) || (x (-1 - P + x) != 0 && G == -((P - x)/(x (-1 - P + x))) && y == P - x)
You may solve  G == -((P - x)/(x (-1 - P + x))) in x and then express y in terms of P and G. I leave it on your own.