Quote:
Originally Posted by robert44444uk
henryzz, this is great!
 Where are you getting the sets of possible positions?
 How do you derive the primorial and the offset?
Thank you ATH for the very clear explanation of the mods around quads.

I created the sets of possible positions by hand. After 0 2 and 6 8, 3 can't divide 0 mod 6 or 2 mod 6 and it is clear that 4 mod 6 is divisible by 3 so they can be excluded. After choosing the next twin pair 18 20, 4 mod 10 was the only even number mod 10 that hadn't been seen already so 4 mod 10 must be divisible by 5. I made two lists of numbers excluded by these two criteria, used them to work out a list of possible numbers and then excluded cases that weren't twins. It helped that I could try a case by putting it into polysieve to see if it was possible. I am fairly confident I have optimal solutions but there was a couple of places where I could have chosen other twins.
In this case the offset was calculated by polysieve which uses a
wheel sieve. It basically crossed out all offsets <= 11# where one number in the tuple would be divisible by 2 then 3 etc upto 11. In this case there was only one remaining. Polysieve actually continues doing this in order to gain more speed. There are only two possible offsets modulo 13# which leaves 2/13 of the sieve size if I ignored that. I am currently testing 45900 possible offsets for the 8 twins case calculated using primes upto 31 in a modified version of polysieve.
I can go into more detail if necessary.