I tested both suggested answers.
eqn = x^z + y == a;
Reduce[eqn, x, Reals]
Gives the output:
(z > 0 && y == -0^z + a && x == 0) || (y == -1 + a && z == 0 &&
x < 0) || ((z/2 | C[1]) \[Element]
Integers && ((C[1] <= -1 && y < a && z == C[1] &&
x == -(a - y)^((1/z))) || (C[1] >= 1 && y < a && z == C[1] &&
x == -(a - y)^((1/z))))) || (((1 + z)/2 | C[1]) \[Element]
Integers &&
y > a && ((C[1] <= -1 && z == C[1] &&
x == -(-a + y)^((1/z))) || (C[1] >= 1 && z == C[1] &&
x == -(-a + y)^((1/z))))) || (y == -1 + a && z == 0 &&
x > 0) || (z != 0 && y < a && x == (a - y)^(1/z))
Where as
eqn = x^z + y == a;
Solve[eqn, x]
Gives the output:
{{x -> (a - y)^(1/z)}}
So either method will return the answer you want, though Solve[] seems to give the particular format that your looking for.
Realsas the domain inReduce. – Szabolcs May 24 '12 at 15:17