$B-B^{-1}$ is diagonalizable. Show that $B$ is diagonalizable.
Let $P(X)=\prod \limits_{i=1}^{r}(X-\lambda_i)$ the minimal polynomial of $B-B^{-1}$.
Moreover : $\prod \limits_{i=1}^{r}(B-B^{-1}-\lambda_i)=0$
Then maybe, we can multiply by $B$, $r$ times. So we will obtain :
$\prod \limits_{i=1}^{r}(B^2-\lambda_iB-I_n)=0$
It gives a polynomial which $B$ is the indeterminate and which vanished in $B$.
But how to continue ?
Thanks in advance !
Recall that a matrix is diagonalisable over a field $F$ if and only if its minimal polynomial can be factored into distinct linear factors with coefficients in $F$.
So, as $A=B-B^{-1}$ is diagonalisable over $\mathbb R$, its minimal polynomial can be written as $f(x)=\prod_{i=1}^r(x-\lambda_i)$, where $\lambda_1,\lambda_2,\ldots,\lambda_r$ are some $r$ distinct real numbers. As you said, from $f(A)B=0$, we obtain $p(B)=0$ where $p(x)=\prod_{i=1}^r(x^2-\lambda_ix-1)$.
We want to show that $B$ is diagonalisable over $\mathbb R$, i.e. we want to show that its minimal polynomial --- denoted by $g(x)$ in the sequel --- can be factored into distinct linear factors with real coefficients. However, by definition, $g(x)$ must divide $p(x)$. Therefore it suffices to prove that $p(x)$ can be factored into distinct linear factors.
In other words, it suffices to prove that all roots of $\prod_{i=1}^r(x^2-\lambda_ix-1)=0$ are real and distinct. Note that what one needs to show is not only that the roots of $x^2-\lambda_ix+1=0$ are real and distinct for each $i$, but also that the roots of $x^2-\lambda_ix-1=0$ are different from those of $x^2-\lambda_jx-1=0$ when $i\ne j$.
Anyway, this boils down to a calculus exercise that is not hard to do. For starters, note that both $\lambda\mapsto \lambda-\sqrt{\lambda^2+4}$ and $\lambda\mapsto \lambda-\sqrt{\lambda^2+4}$ are strictly increasing functions on $\mathbb R$ and $\lambda+\sqrt{\lambda^2+4}>0>\mu-\sqrt{\mu^2+4}$ for all real numbers $\lambda$ and $\mu$.