Tricks for solving (lots of) coupled nonlinear equations numerically?

I have a system of 6 non-linear (quadratic) coupled equations with 6 complex unknowns

\begin{align*} |x_1|^2 + |x_2|^2 + |x_3|^2 &= a\\ x_1 x_4^* + x_3 x_5^* &= b + c i\\ x_1 x_6^* &= d + e i\\ |x_4|^2 + |x_5|^2 &= f\\ x_4 x_6^* &= g + h i\\ |x_6|^2 &= k \end{align*}

{Abs[x1]^2 + Abs[x2]^2 + Abs[x3]^2 == a,
x1 Conjugate[x4] + x3 Conjugate[x5] == b + c I,
x1 Conjugate[x6] == d + e I,
Abs[x4]^2 + Abs[x5]^2 == f,
x4 Conjugate[x6] == g + h I,
Abs[x6]^2 == k}


where $x_1$ etc. are complex variables, $x_1^*$ is Conjugate[x1], $|x|$ is Abs[x], and a etc. are real constants. The equations are probably underdetermined - if you break them into real and imaginary parts, there are only 9 equations for 12 real unknowns. Physically (since these equations solves for parameters in a model) I expect some phases in the $x_i$ are not physical (i.e. some $x_i$ are actually real numbers instead of complex), but I don't know a good way to parametrize the phases away.

NSolve[{eqns}, {vars}, Complexes] has been running for more than 10 minutes (and still running!). I've never encountered numerical equation solving with coupled non-linear equations before, so I don't know what to expect. Is there anything I can do to optimize the process? What other numerical solving functions can I try?

Also, probably off-topic here: I am under the impression that numerics is not Mathematica's strong suit; should I seek out other programs to solve this problem? Recommendations?

-
should I seek out other programs to solve this problem? How can one advice you on this if one can't see what this problem is? – Nasser Nov 18 '12 at 2:47
Your impression is wrong, Mathematica numerics is very strong. Since you haven't included your equations I doubt you'll find any help besides adequate links e.g. reference.wolfram.com/mathematica/tutorial/… – Artes Nov 18 '12 at 2:49
You haven't even said if your equations are algebraic or transcendental, so there's really nothing much that can be said by us... – J. M. Nov 18 '12 at 3:24
I did say quadratic equations. I'll post the actual equations. – polyglot Nov 18 '12 at 3:32
NSolve cannot run with symbolic parameters. But you did not give any numerical values to a, b, c, etc. Why not to split them in 9 real equations and solve symbolically for 9 real variables in terms of 3 variables and parameters? Then you can research symbolically domains of possible solutions. – Vitaliy Kaurov Nov 18 '12 at 6:01

Please explain what is the reason for using the Abs[arg] function in the expression:
Abs[x1]^2 + Abs[x2]^2 + Abs[x3]^2 == a