Yikes, sorry to hear about your vision Reading through your tests and results an idea occurred to me. I don't know how realistic it would be regarding the coding and whatnot, or if you're even interested in such a direction, but have you considered a 2 stage generation process?
The thinking is that the most consistently best the lines have produced seems to be 3 of 6 so use that knowledge to:
In stage 1: Generate the lines as you have been doing all along.
In stage 2: Generate a new set of lines with the condition that only between 0 and 3 of the numbers in stage 1 lines will appear in the stage 2 lines.
For example purposes, if in stage 1 it generates the numbers:
5, 6, 13, 15, 23, 35
13, 14, 21, 32, 38, 40
5, 11, 14, 20, 21, 37
etc
In stage 2 the generator would know to generate new lines based on:
5, 6, 13, 15, 23, 35 (only between 0 and 3 of these numbers can appear in any 1 line)
13, 14, 21, 32, 38, 40 (only between 0 and 3 of these numbers can appear in any 1 line)
5, 11, 14, 20, 21, 37 (only between 0 and 3 of these numbers can appear in any 1 line)
etc (only between 0 and 3 of these numbers can appear in any 1 line)
and so on for every line in stage 1.
And depending on the testing and results of enough stage 2 lines, there could be a stage 3 based on the stage 2 results.
I know you can manually input sets of numbers and set the low and high in the Wheel function of your DM-BG5 software so that part doesn't seem TOO far-fetched, but this would have to be something automatic as inputting so many lines manually would be a chore. That's the part I'm not so sure if it is possible.
Anyway, that's the idea. I hope I explained myself well enough. Thanks for reading. Good luck with your health.