Let $H$ be a Hilbert space over $\mathbb{C}$, and let $S\in B(H,H)$. Suppose that $a$ and $b$ are integers such that $1\leq a<b$, and that we have $S^a=S^b$. Show that if $\lambda\in\sigma(S)$, then $\lambda = 0$ or $\lambda^{b-a}=1$.
What I've been able to prove so far:
If $S^k=0$ for some smallest $1\leq k \leq a$, then $Sy=0$ for some $y=S^{k-1}x\neq 0$, so $0\in\sigma(S)$.
If $S^a\neq 0$, then $S^{b-a}(S^ax)=S^ax$ for some $y=S^ax\neq 0$, so $1\in\sigma(S^{b-a})=\sigma(S)^{b-a}$ by the spectral mapping theorem. I also found that $\|S^{b-a}\|=1$.
However, I am not able to conclude that $\sigma(S)$ doesn't contain anything else, or that $S$ and $S^{b-a}$ don't have any other eigenvalues.
Could anyone help me out?
By the spectral mapping theorem, $$ \{0\} =\sigma(S^b-S^a)=\sigma((S^{b-a}-I)S^{a})\\ = \{ (\lambda^{b-a}-1)\lambda^{a} : \lambda\in\sigma(A) \}. $$ If follows that, if $\lambda\in\sigma(A)$, then either $\lambda=0$ or $\lambda^{b-a}=1$.