Going through logically and manually (listed out below) I came to contradictions.
Furthermore, below that, I present two near-solutions for which the linked web-page states each have only one incorrect answer.
Steps X1 - X22 should each be small enough steps to follow, and X23 gives two resulting contradictions, either of which should also be quite easy to see. Along the way I update a list of what we know - ten separate lists of five items each (much like the marks one can add to the linked webpage) - these are ordered left to right by question and each is ordered left to right by alphabetical answer and all are initially question marks, the become x when ruled out and their letter when ruled in.
X1.
Q5: The number of questions with the answer A equals the number of questions with the answer
Must be A. A - it is a tautology)
????? ????? ????? ????? Axxxx ????? ????? ????? ????? ?????
X2.
Q4: The number of questions with the answer A is
cannot be A.1 (it would now create a second A)
????? ????? ????? x???? Axxxx ????? ????? ????? ????? ?????
X3.
Q2: Identical answers have questions
Cannot be B. 4&5 (Q5 is A but Q4 cannot be A by X2)
????? ?x??? ????? x???? Axxxx ????? ????? ????? ????? ?????
X4.
Q6: The last question whose answer is B is the question
cannot be A.5 (5 is already A by X1)
????? ?x??? ????? x???? Axxxx x???? ????? ????? ????? ?????
X5
Q2: Identical answers have questions
Cannot be C. 5&6 (Q5 is A but Q6 cannot be A by X4)
????? ?xx?? ????? x???? Axxxx x???? ????? ????? ????? ?????
X6.
Q8: The answer to this question is the same as the answer to the question
Cannot be B.2 (Q2 cannot be B from B3)
????? ?xx?? ????? x???? Axxxx x???? ????? ?x??? ????? ?????
X7.
Q8: The answer to this question is the same as the answer to the question
Cannot be E.5 (Q5 is A from X1)
????? ?xx?? ????? x???? Axxxx x???? ????? ?x??x ????? ?????
X8.
Q8: The answer to this question is the same as the answer to the question
Cannot be A.1 (If Q1 were then the first question to be D would be 8, making this D - contradiction)
????? ?xx?? ????? x???? Axxxx x???? ????? xx??x ????? ?????
X9.
Q8: The answer to this question is the same as the answer to the question
Cannot be D.4 (if it were then all answers to question 7 would contradict it)
????? ?xx?? ????? x???? Axxxx x???? ????? xx?xx ????? ?????
X10.
Q8: The answer to this question is the same as the answer to the question
Must be C.3 (only option reamining)
????? ?xx?? ????? x???? Axxxx x???? ????? xxCxx ????? ?????
X11.
Q7: Alphabetically, the answer to this question and the answer to the following question are
Must be D.1 apart (as per X9.)
????? ?xx?? ????? x???? Axxxx x???? xxxDx xxCxx ????? ?????
X12.
Q3: The number of questions with the answer E is
Must be C.3 (direct implication of Q8 being C by X9)
????? ?xx?? xxCxx x???? Axxxx x???? xxxDx xxCxx ????? ?????
X13.
Q6: The last question whose answer is B is the question
Cannot be C.7 or D.8 (since Q7 and Q8 are D, not B, by X11 and X10 respectively)
????? ?xx?? xxCxx x???? Axxxx x?xx? xxxDx xxCxx ????? ?????
X14.
Q10: The answer to this question is
Cannot be B.B (it would make all answers to Q6 invalid options)
????? ?xx?? xxCxx x???? Axxxx x?xx? xxxDx xxCxx ????? ?x???
X15.
Q4: The number of questions with the answer A is
Cannot be E.5 (One answer is A, 6 quesions remain unanswered 3 of which must be E by Q3 and X12, 6-3+1 = 4, 5>4)
????? ?xx?? xxCxx x???x Axxxx x?xx? xxxDx xxCxx ????? ?x???
X16.
Q4: The number of questions with the answer A is
Cannot be D.4 (Following on from X15 but knowing Q4 can no longer be A or E, 5-3+1 = 3, 4>3)
????? ?xx?? xxCxx x??xx Axxxx x?xx? xxxDx xxCxx ????? ?x???
X17.
Q1: The first question whose answer is D is the question
Cannot be A.8 (since Q7 is D by X11)
x???? ?xx?? xxCxx x??xx Axxxx x?xx? xxxDx xxCxx ????? ?x???
X18.
Q1: The first question whose answer is D is the question
Cannot be E.4 (since Q4 is not D by X16)
x???x ?xx?? xxCxx x??xx Axxxx x?xx? xxxDx xxCxx ????? ?x???
X19.
Q2: Identical answers have questions
Cannot be E.7&8 (Q7 is D and Q8 is C by X11 and X10 respectively)
x???x ?xx?x xxCxx x??xx Axxxx x?xx? xxxDx xxCxx ????? ?x???
X20.
Q2: Identical answers have questions
Cannot be D.6&7 (Q6 is not D by X13 while Q7 is D by X11)
x???x ?xxxx xxCxx x??xx Axxxx x?xx? xxxDx xxCxx ????? ?x???
X21.
Q2: Identical answers have questions
Must be A.3&4 (only option reamining)
x???x Axxxx xxCxx x??xx Axxxx x?xx? xxxDx xxCxx ????? ?x???
X22.
Q4: The number of questions with the answer A is
Must be C.3 (direct implication of Q2 beint A.3&4 by X21)
x???x Axxxx xxCxx xxCxx Axxxx x?xx? xxxDx xxCxx ????? ?x???
X23.
There are now three unanswered questions which have E available (Q6, Q9, & Q10) and
Q3: The number of questions with the answer E is
is already C.3 from X12
hence they must all be E, however they cannot be since Q6 being E implies Q9 is D.
(There is also a contradiction with the fact that if they were all E, a third A for Q4 would not be available)
If we ignore the implications of question 5 then the single solution would be:
Answer: 1 2 3 4 5 6 7 8 9 10
-Q5: B A B B E B D E D A
This is also much like treating Q5 as if the answer were E. None of the above, since there are 2 As, 2 Ds and 2 Es - hence the options A and D are not valid, hence "none of the above". I was half expecting this to come up all green.
If we ignore the implications instead of question 8 then the single solution would be:
Answer: 1 2 3 4 5 6 7 8 9 10
-Q8: B A B B A B D E D E
Their validity with their respective stated caveats may be confirmed by double clicking them in the linked webpage and seeing that all but the mentioned question are green.
I found these using Python code (below) which runs through all possible answer-sets and implements a piece of logic for each of questions 1 through 9 (10 not providing any check itself), with the ability to ignore any such checks.
Running it without removing any checks yields zero solutions.
Removing any other such single direct-implication check yields 0 solutions. Removing two yields single solutions for (1,7) and (5,7) removing 3 yields single solutions for (3,7,9) and (4,6,9).
If anyone can see any flaws in my manual step-by-step approach do shout. The most likely reason for both this and my Python code to come up empty will be a misinterpretation of their rules. I also attempted interpreting Q7 as having consecutive letters be "0 apart" rather than "1 apart" which also yielded 0 solutions. Another thought I had was to interpret Q5 as needing the one and only set of exactly two equal answers to be as given in the chosen answer, but this immediately leads to 0 solutions as there are 10 questions and 5 choices.
Python code (note: ignoreChecksForQuestions
is 1-indexed. The implementation is 0-indexed, so for example if doThese[4]:
and answers[4]
are referring to question 5.)
from itertools import product
def iterAnswers(ignoreChecksForQuestions=[]):
results = []
doThese = [q+1 not in ignoreChecksForQuestions for q in range(10)]
for answers in product('ABCDE',repeat=10):
if doThese[4]:
if answers[4] != 'A': continue
if doThese[2]:
numberOfEs = sum(a=='E' for a in answers)
if ' ABCDE '[numberOfEs] != answers[2]: continue
if doThese[3]:
numberOfAs = sum(a=='A' for a in answers)
if ' ABCDE '[numberOfAs] != answers[3]: continue
if doThese[6]:
distance = abs(ord(answers[6]) - ord(answers[7]))
if 'EDCBA'[distance] != answers[6]: continue
if doThese[7]:
if answers[0:5].count(answers[7]) != 1 or 'ABCDE'[answers.index(answers[7])] != answers[7]: continue
if doThese[8]:
consonants = sum(a in 'BCD' for a in answers)
if ' ABCDE '[consonants] != answers[8]: continue
if doThese[0]:
firstDIndex = (answers + ('D',)).index('D')
if ' EDCBA '[firstDIndex] != answers[0]: continue
if doThese[5]:
lastBRevIndex = (answers[::-1]+('B',)).index('B')
if ' EDCBA '[lastBRevIndex] != answers[5]: continue
if doThese[1]:
if ''.join(map(str.__mul__,'ABCDE', [a==b for a,b in zip(answers[2:7],answers[3:])])) != answers[1]: continue
# note Q10 - all five answers self-validate
yield answers
Example run:
>>> for answer in iterAnswers([5]): answer
...
('B', 'A', 'B', 'B', 'E', 'B', 'D', 'E', 'D', 'A')
>>>
Since writing this I looked at the paper written by the authors. This question-set was supposedly generated from another question-set for which the answers are given (they were the inputs to the process). The original question-set, to my mind, works perfectly. The paper does did (this has now been fixed) have one slight difference in the wording of the generated question-set to that presented in the webpage and here: Question 5 reads "The number of questions with the answer A equals the number of questions with the answer (A) A (B) B (C) D (D) E (E) none of the above". However this does did not strike me as a game-changer since either we start with Q5 must be A OR we allow E to be chosen when it is not only A. Maybe the check for Q5 is implemented differently by the webpage than how the authors meant it to be interpreted? (it has been confirmed in the comments that "none of the above" is coded to be an invalid choice, although we do not yet know if that was the intention of the authors of the paper - if someone is good with propositional logic they may be able to work it out from the tree they show there.).