By the way, this is flawed logic:
You could for example find a three-number match in 1-10-12-14-18, which comes way before 10-?-?-?-?
This next bit seems to hold though:
but I didn't use it because stopping the search when 4500 3- and 4- number matches had been found was both easier to code and quicker.