Question: Why does solve drop solutions to this trig function?

Hello,

     I'm attempting to solve a rather trivial trigonometric equation, but solve seems to be behaving rather inconsistently. If I attempt this equation

eq := G*cos(x+C1) = A*sin(x):
vars :=  {G, C1, x}:

solve(eq, vars);

it returns the correct, expected result

{C1 = -1/2*Pi, G = A, x = x}, {C1 = 1/2*Pi, G = -A, x = x}, {C1 = C1, G = G, x = arctan(cos(C1)*G/(G*sin(C1)+A))}

However, if I remove x from the list vars of variables for which to solve, I expect it to return the first two elements, {C1 = -1/2*Pi, G = A}, {C1 = 1/2*Pi, G = -A}. However, this isn't what happens. Instead, solve returns {C1 = C1, G = A*sin(x)/cos(x+C1)}; it's true that this is a valid solution, but it seems to be missing the two I want. Is there a way to recover the desired solutions?

And a related question: even without removing x from vars, solve appears to have trouble with the equation. Simply changing sin to cos, as so

eq := G*cos(x+C1) = A*cos(x):
vars :=  {G, C1, x}:

solve(eq, vars);

Now only returns

{C1 = C1, G = G, x = arctan((G*cos(C1)-A)/sin(C1)/G)}, {C1 = C1, G = G, x = arctan((-G*cos(C1)-A)/sin(C1)/G)}

That is, it is missing the expected solutions {C1 = 0, G = A}, {C1 = Pi, G = -A}. Is there a reason for this difference?

Thank you very much!

Please Wait...