**Answer:**

1. C

2. D

3. B

4. C

5. B

A nice, complicated, and sometimes confusing puzzle.

__Step 1__

Question 1 can't be A, as this would mean that Q1 was the first question with B as the answer and therefore contradict itself.

Q1 can't be B as this would mean Q4 was the first question with B as the answer, but Q1 would actually be the first question with B as the answer.

If we test Q1 as having answer C, you'll see that Q3 points back to Q1 correctly and is logically consistent. This is a possibility.

If we test Q1 as having answer D, then Q2's answer is B, which points to Q4's answer being A, which means that there are 3 questions with D as the answer. Which would mean that Q3 and Q5 were both D, but Q3 would have to be A, as we're testing that Q1 is D.

Therefore **Q1 has answer C**. Since Q1 has answer C, we know **Q3 has answer B**.

__Step 2__

Looking at Q4 (how many questions can have D as the answer), clearly it can't be D (zero), as this would contradict itself. It can't be A (three) as we only have 2 questions without an answer.

If Q4 was B, then the remaining questions (Q2 and Q5) would both be D, which would make Q2 point to Q4 having C as an answer, which contradicts our guess of Q4 being B.

So **Q4 must be C**.

Which means that **Q2 has answer D**.

Which means that **Q5 has answer B** (as no other option is allowed and we must have two questions with answer B).