論理パズルをBASICで解く (10進basic使用)

REM  問題  青山学院大学の入試問題です。
REM  A,B,Cの3名がいて、正直者が2人、残りの1人が嘘つきである。そして3名とも誰が正直者で、誰が嘘つきかは知っているとする。
REM ここで、正直者とは常に真実をいう人、嘘つきとは常に真実と反対のことをいう人である。このとき、つぎのようなA,B,Cの証言が得られた。

REM     Aの証言:Cは嘘つきである。
REM     Bの証言:Aは正直者である。
REM     Cの証言:Bは嘘つきである。

REM     誰が嘘つきか。
REM     下記のコードを実行すれば 1,1,0という結果が出力されCが嘘つきであることが
REM     わかります。
REM------------------- !記号以下は注釈文  , &は次行への継続
FOR  A=0  TO  1    !0が嘘つき、1が正直者
   FOR  B=0  TO  1    !0が嘘つき、1が正直者
      FOR  C=0  TO  1    !0が嘘つき、1が正直者
       
         IF  ((A=0  AND  C=1)  OR  (A=1  AND C=0))  AND  &
&   (( B=0  AND  A=0)  OR  (B=1 AND  A=1)) AND &
&   ((C=0  AND  B=1)  OR  (C=1  AND B=0)) AND (A+B+C=2)  THEN  PRINT  A;B;C
          
      NEXT C
   NEXT B
NEXT A
END