Each statement is the subject of the previous two statements and asserts the truth of exactly one of the two subsequent statements.
Let's assign a true value to a statement (let's say #1), then one of the subsequent statements must also be true.
If 2 is true, then 3 must be false (or 1 would be false); if 3 is false, then 4 is true (or 2 would be false); if 4 is true, then 5 is true (or 3 would be true); etc. IF there were only 999 statements this pattern would be okay (giving us 666 true statements):
Unfortuantely, that 1000th statement (which would be true or 998 would be false) would require that 1 or 2 could be true (but not both).
If 2 is false, then 3 would have to be true (or 1 would be false). In order for 3 to be true and 2 to be false, 4 also has to be true - this is the same pattern as before, which doesn't work.
[Sorry about the multiple edits, I'm having issues submitting and keep losing my responses]