Mathematica solves this equation fine: Solve[ Tan[theta] == (b*Sin[t])/(a*Cos[t]), theta] // InputForm {{theta -> ConditionalExpression[ArcTan[(b*Tan[t])/a] + Pi*C[1], Element[C[1], Integers]]}} The solution is real when $a$, $b$, and $t$ are real (and $t$ isn't a multiple of $\frac{\pi}{2}$). However, adding the Reals condition breaks things: Solve[ Tan[theta] == (b*Sin[t])/(a*Cos[t]), theta, Reals] // InputForm Solve::nsmet: This system cannot be solved with the methods available to Solve. Solve[Tan[theta] == (b*Tan[t])/a, theta, Reals] Why? Answer The issue we encounter here is an apparent incompleteness of the recent updates in the system, we should remember that Solve has been updated in the recent versions of Mathematica and although documentation pages say "last modified in 8 ", one can distinguish various different issues between ver.8 and ver.9 , it's just a state of art. In ver. 8 we get: Solve[ Tan[θ] == b Sin[t]/(a Cos[t]), θ] Solve