Added Thanks and the problem with Q is solved

The problem with Q was I was just checking X(|G|P) = 0 not |G|P = (0,1). So I got lucky with (16, ...) and it is a good point. Correctly testing the points removes about half of them which was why I had twice as many points as I was expecting.