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


Often you can make an assumption and derive a contradiction.  Here, assume John is a knight.  He then tells the truth, but "we are both knaves" would be false.  Therefore John is a knave.  Now the statement "we are both knaves" must be false, and we know John is a knave, so Bill must be a knight.
