A logic problem. No need for calculation
Solution 1:
Person $1$ states that he does not see $2$ white hats.
If Person $2$ sees a white hat on Person $3$, then he knows that his hat is black, because there must be at least $1$ black hat between $2$ and $3$.
So Person $2$ must have seen a black hat on Person $3$, leading to his uncertainty.
Solution 2:
Initially there are $7$ possibilities:
$$ \begin{array}{|c|c|c|c|} \hline 1 & 2 & 3 \\ \hline B & B & B \\ \hline B & B & W \\ \hline B & W & B \\ \hline B & W & W \\ \hline W & B & B \\ \hline W & B & W \\ \hline W & W & B \\ \hline \hline \end{array} $$
First says that he doesn't know, so one of $2-3$ has a black, that leaves us with:
$$ \begin{array}{|c|c|c|c|} \hline 1 & 2 & 3 \\ \hline B & B & B \\ \hline B & B & W \\ \hline B & W & B \\ \hline W & B & B \\ \hline W & B & W \\ \hline W & W & B \\ \hline \hline \end{array} $$
Second says he doesn't know, that means one of the others has a black, which leaves us with:
$$ \begin{array}{|c|c|c|c|} \hline 1 & 2 & 3 \\ \hline B & B & B \\ \hline B & B & W \\ \hline B & W & B \\ \hline W & B & B \\ \hline W & W & B \\ \hline \hline \end{array} $$
Moreover, the second knows that the first has seen a black among $2$ or $3$ and he sees that $3$ has white in row $2$, so if row two is the case then the second actually does know his color, so row $2$ gets eliminated:
$$ \begin{array}{|c|c|c|c|} \hline 1 & 2 & 3 \\ \hline B & B & B \\ \hline B & W & B \\ \hline W & B & B \\ \hline W & W & B \\ \hline \hline \end{array} $$
The third knows that his color is black, because in all remaining worlds that's the case.