Is there a general effective method to solve Smullyan style Knights and Knaves problems? Is the truth table method the most appropriate one? Below, an attempt at solving a knight/knave puzzle using the truth table method. 
Are there other methods? 
Source : https://en.wikipedia.org/wiki/Knights_and_Knaves


Truth tables always work, of course, but another appproach is to use algebra in the field with two elements (i.e. the integers modulo 2) to represent truth values.
If we let $1$ represent a true statement and $0$ represent a false statement, then


*

*"X and Y" corresponds to $xy$.

*"not X" corresponds to $1-x$.

*"X or Y" corresponds to $x+y-xy$.


and therefore we can represent any propositional formula by a polynomial expression. Finally, we can represent "A says (or would say) X" by the equation
$$ (\text{A is a knave}) + x = 1 $$
since the if A says X then we know that either X is true or A is a knave but not both.
For the simple puzzle in question, then introduce variables $j$ and $b$ for "John is a knave" and "Bill is a knave". John's statement is then $jb$ and the known fact that he says it is the equation
$$ j+jb = 1 $$
Algebra now tells us
$$ j(1+b) = 1$$
and the only way for that to be true in $\mathbb F_2$ is if $j=1$ and $1+b=1$. In other words "John is a knave" must be true, and "Bill is a knave" must be false.
