Come ha suggerito fph, se $a$ è il numero di furfanti e $b$ è il numero di cavalieri allora un cavaliere dirà per forza
<<Senza contare me, i furfanti sono $a-(b-1)$ più dei cavalieri>>. Dato che fanno tutti affermazioni diverse, ne deduciamo che c'è al più un cavaliere.
Inoltre, supponiamo siano tutti furfanti, allora l'$(n-1)$-esimo dirà <<Senza contare me, i furfanti sono $n-1$ più dei cavalieri>>, che però è vero, assurdo, quindi c'è esattamente un cavaliere.
Senza contare questo cavaliere, i furfanti sono $n-1$ in più dei cavalieri, quindi lui è l'$(n-1)$-esimo candidato.
Osserviamo ora l'$(n-3)$-esimo candidato (furfante): dirà <<Senza contare me, i furfanti sono $n-3$ più dei cavalieri>>, ma i furfanti, senza contare lui, sono proprio $n-2-1=n-3$ più dei cavalieri, e quindi deve essere un cavaliere, assurdo.
Se ne deduce che l'$(n-3)$-esimo candidato non esiste $\Rightarrow n-3 \le 0 \Rightarrow n \le 3 \Rightarrow 3 \le n \le 3 \Rightarrow n=3$.
Con tre candidati il primo furfante, il secondo cavaliere e il terzo furfante funziona, quindi $n=3$.