OK, I've made a little progress on the problem, in that I can now produce an 8 week schedule without repeats. In fact, I've figured out how to generalise the social squares solution somewhat - for an MxM system, you can produce M+1 weeks so that every person plays every other person once within that time... so long as M is a prime power. That is, M = p^n, where p is a prime number and n is a positive integer.
In order to do this, one needs to essentially produce a set of mutually orthogonal latin squares. As it turns out, this can be done for any prime power through the use of Galois Fields (I only know a bit of how they work, but enough to understand why it works for this problem), so that you have exactly n-1 orthogonal latin squares. For instance, for n=4, you have the latin square:
0 1 2 3
1 0 3 2
2 3 0 1
3 2 1 0
This is the latin square produced by the galois field for n=4. This is the starting arrangement that we need. To produce the other orthogonal squares, you simply rotate through the rows other than the first one, like this:
0 1 2 3
2 3 0 1
3 2 1 0
1 0 3 2 (move 1 0 3 2 to the bottom)
0 1 2 3
3 2 1 0
1 0 3 2
2 3 0 1 (now move 2 3 0 1 to the bottom)
So, what are these latin squares in relation to the problem? Well, they're the second, third, and fourth columns of each group for the rounds that aren't in numerical order. So what we do is we increase each of the three latin squares by a multiple of four (assuming the first member is 0, not 1), and then group them together. For instance, the first latin square above ends up looking like this:
4 5 6 7
5 4 7 6
6 7 4 5
7 6 5 4
The second one should be increased by 8, and the third one by 12. This then produces our schedule in the following way.
In the first column of each group, put the first set of numbers, as so:
00 01 02 03
00 01 02 03
00 01 02 03
00 01 02 03
In the second column, we insert the columns from the first latin square, like this:
00 04 01 05 02 06 03 07
00 05 01 04 02 07 03 06
00 06 01 07 02 04 03 05
00 07 01 06 02 05 03 04
You will note that, if you remove the 0, 1, 2, and 3, you are now left with that latin square once again. Now, in the third column, we insert the columns from the second latin square, like this:
00 04 08 01 05 09 02 06 10 03 07 11
00 05 10 01 04 11 02 07 08 03 06 09
00 06 11 01 07 10 02 04 09 03 05 08
00 07 09 01 06 08 02 05 11 03 04 10
Again, if you remove the other columns, you regain the latin square. In the final column... you guessed it, the third latin square:
00 04 08 12 01 05 09 13 02 06 10 14 03 07 11 15
00 05 10 15 01 04 11 14 02 07 08 13 03 06 09 12
00 06 11 13 01 07 10 12 02 04 09 15 03 05 08 14
00 07 09 14 01 06 08 15 02 05 11 12 03 04 10 13
With this done, all that is left is to add the column sets, like this:
00 04 08 12 01 05 09 13 02 06 10 14 03 07 11 15
00 05 10 15 01 04 11 14 02 07 08 13 03 06 09 12
00 06 11 13 01 07 10 12 02 04 09 15 03 05 08 14
00 07 09 14 01 06 08 15 02 05 11 12 03 04 10 13
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15
The exact same process works for any prime power n. For instance, for n=8=2^3, the latin square coming from the Galois Field is:
0 1 2 3 4 5 6 7
1 0 4 7 2 6 5 3
2 4 0 5 1 3 7 6
3 7 5 0 6 2 4 1
4 2 1 6 0 7 3 5
5 6 3 2 7 0 1 4
6 5 7 4 3 1 0 2
7 3 6 1 5 4 2 0
And, as with above, you can then create six more orthogonal ones by rotating the bottom seven rows, then use them to create an 8x8 social square schedule over nine weeks.
Now, in the case of my problem, 6x8, you simply leave off two of the latin squares, and thus do not do the last two columns of each group. However, this also invalidates the final round (0 1 2 3 4 5 6 7)(8 9 10 11 12 13 14 15)..., as they don't quite line up correctly. This is why I only have 8 weeks for the 6x8 case, rather than 9 weeks.
For the case of prime M, you get a fairly straight-forward solution. For instance, for M=5,
0 1 2 3 4
1 2 3 4 0
2 3 4 0 1
3 4 0 1 2
4 0 1 2 3
This can then be rotated as per above. I'm not certain as to whether this produces the same social square solution as those provided
here, but it should produce an appropriate solution.