Mathematica Stack Exchange is a question and answer site for users of Mathematica. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I want to solve the following equation:

$$(-1-z)^n = z,\quad |z|<1,\quad n>1\in \mathbb{N}$$

where $z$ is a complex number.

However Solve or Reduce didn't get me anywhere. Is there a way to do this?

share|improve this question
"Solve or Reduce didn't get me anywhere" what exactly did you try? – gpap Jun 20 '13 at 9:11

I would still like to see your effort before answering because Reduce works fine:

f[n_] := Last /@ Reduce[(-z - 1)^n == z && Abs@z < 1, {z}] /. Or -> List

(essentially reproducing what Simon Woods did).

{Re[#], Im[#]} & /@ N[f[100]];
Show[Graphics@Circle[], ListPlot[%]]

enter image description here

share|improve this answer
I think Hannah had tried Reduce with symbolic n – Simon Woods Jun 20 '13 at 10:14
@gpap nice graphic! those dots should all be centered in a circle at -1 on the real axis, though - do you have any idea why the two dots in the middle seem to be slightly off? – Vincent Tjeng Jun 20 '13 at 10:33
that's very nice! i am at the office right now and what i tried myself is hon my home computer; but i can show you as soon as i'm home – Hannah Jun 20 '13 at 11:22
@VincentTjeng I think we can very roughly think like this. Let $w=z+1$, then the original eq can be reduced to $(-1)^n w^{n-1}=1-1/w$, where $(-1)^n w^{n-1}=1$ is exactly on the circle $\left\| z+1\right\| =1$. So the more $w$ near $1$, the more perturbation it introduces to the radius of the circle. – Silvia Jun 20 '13 at 12:21

Since your equation is a polynomial, you could just create a list of Root objects for a given value of n and select those within the unit circle:

solution[n_] := 
 Select[Table[Root[(-1 - z)^n - z, i], {i, n}], Abs[#] < 1 &];

solution[7] // N
(*  {-0.203456, -0.294702 - 0.637624 I, -0.294702 + 0.637624 I}  *)

With[{z = x + I y, n = 7},
 DensityPlot[Log@Abs[(-1 - z)^n - z], {x, -1, 1}, {y, -1, 1},
  Epilog -> {Circle[], Circle[{Re[#], Im[#]}, 0.1] & /@ solution[n]}]]

enter image description here

share|improve this answer
Thank's a lot! would it be possible to creat a loop around this expression so that it is calculated for let's say n from 1 to 100 or so? – Hannah Jun 20 '13 at 9:38

A partial answer first - I don't think it's possible to get general solutions as a function of $n$, especially as the number of solutions will change depending on the value of $n$. My attempt in Mathematica as shown below to solve this was met by the error code Solve::nsmet: This system cannot be solved with the methods available to Solve. >>

Solve[(-z - 1)^n == z && Abs[z] < 1 && n \[Element] Integers, {z}]

However, if you're only interested to know the approximate value of the solutions for a given value of $n$, you can try the following line of code (the following example evaluated for when $n$ is 6:

NSolve[(-z - 1)^n == z && Abs[z] < 1, {z}]

Tell me if this meets your needs!

share|improve this answer
$-(z+1)^n \neq (-1-z)^n$ for even $n$. – shrx Jun 20 '13 at 9:07
@shrx - thanks! missed out on a pair of brackets, edited as you suggest. – Vincent Tjeng Jun 20 '13 at 9:18
thank's this helps!! – Hannah Jun 20 '13 at 9:37

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.