#Perl, <strike>70</strike> 69 characters
$"=",";@a=A..M;$i.="{@a}"x++$x." "for@a;!/(.)1円{3}/&&say while glob$i
Usage:
$ perl -E 'code' > output_file
I've only been able to test the code with the `A..F` range, but with enough time and resources the same code should be applicable from A to M.
Interestingly, the `<>` form of the `glob` operator refuses to work on my machine, else I could have saved 3 characters.