From python, perl and ruby i selected python to start playing around (learn the language). I started with this nice tutorial "Learn Python in 10 minutes", and decided to port and old C program that generates all combinations of euromillions and then apply some filters.

The generator is for numbers only, it does not take into account the stars!!!

The solution is composed by two parts, the generator and the evaluator. The generator generates the combinations with the given filter list (e.g, python gnerator.py columns d_tens). The evaluator, evaluates the success of the specified filters individually, and can evaluate all filters at same time.

As example the filter "first_number" rejects combinations with the first number more than 30

sh avaliator.sh first_number
################# first_numbers #####################
Running...
2044588 results 74172 rejected
~96.56160458452722063037%
###############################################

the report says that 15504 combinations was rejected and 97% of euromilions results are in the generated combinations file

However combining all filters (16 for now, and individually with 90% success), the success rate drops to 70% !!.

################# ALL #####################
Running...
1516959 results 601801 rejected
~70.77363896848137535817%
##########################################

Download here