# Universal Lotto Combinations Generator: Any Lottery Game, Powerball, Mega Millions, Euromillions, Keno

## By Ion Saliu, Founder of Combinatorial Software Programming

Written on 19 February 2003; superbly updated on October 27, 2009; last update December 9, 2010.

 Combinations.exe ~ version 8.0, December 2010 ~ combinatorial lotto software.

This extraordinary piece of lotto software generates combinations for absolutely any type of lotto game, plus horse racing straight sets. Specifically to this program, the combosnations (a favorite term of mine) can be generated in steps. That is, the user has the choice to generate lotto combinations with constant gaps or skips between them. For example, starting at the very top of a combination set (the lexicographical order #1), then step 90, the following combination generated will have lexicographic order (rank) #91,, and so one, to the very last combo in the set. To my best knowledge, no other piece of lotto software can accurately generate universal N taken M at a time combinations. Most certainly, no other program can generate lotto combinations in steps. Furthermore, this incredible program even generates lotto combinations within a range of numbers!

There are four types of numeric sets, as presented on this very educational page: Combinatorics or Mathematics of Exponents, Permutations, Arrangements, Combinations. The four distinct types of sets, from the most inclusive to the least inclusive, are: Exponents, permutations, arrangements, combinations.

The combination set is the best-known element of the four mathematical sets. The lotto drawings are some of the most common representations of the combinations. The random number generation of the arrangements is actually closer to the lotto drawings. The lotto numbers are not drawn in sequential order, but in sequences like 33, 7, 18, 44, 29, 48. The random number generation of the combinations in PermuteCombine.exe is like the lotto draws after sorting the numbers in ascending order.

Here is a look at the main menu of Combinations.exe as I ran it at the Command Prompt under Microsoft Windows 7.

But better take a look at something totally unique: a Two-in-One lotto game. The Powerball, and the Mega Millions, and Euromillions are, by now, the best known cases of two-in-one lottery games. I extended the well-known lotto cases to the maximum. You can generate combinations for any imaginable case of lotto games that draw numbers from two chambers. The numbers in the 2nd chamber can be equal to any of the lotto numbers already drawn in the first chamber.

There is something extraordinary that Combinations.exe does. Lots of lottery players (including software developers) told me it was mission impossible. Generate lotto combinations within a range of numbers. I heard first from a player in Latin America, I think. He told me they had a lotto game that draws a ball numbered 0 (zero). So, the game does not start at #1 (which is now the second number in the lotto set). That game goes something like from 0 to 45, for a total of 46 lotto numbers.

Furthermore, there was the daunting task of generating lotto combinations between two lexicographical indexes. For example, generate 6-49 lotto combinations between lexicographic indexes 5000000 and 6000000. Or even more restricted: Between lexicographical ranks 6,500,000 and 6,000,000.

Well, it is not mission impossible anymore! My lotto software does it with so much ease, for regular numbers, and also for Star numbers (as they have in Euromillions). You can easily generate, say, 6-number lotto combinations between 20 and 39. The combinations will consist only of numbers between 20 and 39, inclusively.

Moreover, you can easily generate lotto combinations between lexicographical ranks 6,500,000 and 6,000,000, or any other range of combination sequence numbers.

The beauty of this fantastic piece of lotto software is the stepping thru or cycling the combination generation.Combinations.exe generates combinations of any 'N taken M at a time' in 'steps' from 1 to C (N, M) (the combination function of N taken M at a time). The program looks at all the combinations in the set, in lexicographical order. For example, in a 10/6 "lotto" game, there are 210 combinations, C(10,6) = 210; if step = 90, then only the combinations of the ranks #1, #91 and #181 will be generated. The generation can start at index #1 (the very first combonation) OR at a start point chosen by the software user. The default step is 1: No skipping ; i.e. all the combinations in the set will be generated.

Here is a sample of a 10/6 set combinations in steps of 90 lotto-type combinations and starting at rank #1:

``` 1:  1  2  3  4  5  6
91:  1  3  5  6  9  10
181:  3  4  6  8  9  10
```

Hey, this is also my original method of generating lexicographical lotto wheels. In this case of 6 from 10 combinations, the 4 out of 6 probability leads to a value of 90 combinations. C(10, 6) = 210 combosnations. The odds of exactly 4 of 6 in 6 from 10 = 1 in 2.33; 210 / 2.33 = 90. I wrote specialized software to generate lotto wheels based on lexicographical order (ranks or indexes): LexicoWheels.exe. If you haven't read the presentation, do yourself a favor: Wheels, Balanced Lotto Wheels, Lexicographic Order, Rank.

You can also wheel those lotto combinations between lexicographic indices (ranks). You use the WheelIn.exe application included in the Bright lotto software packages (Wheels from Files). There is more: DrawIndex.EXE. The lotto program opens a lottery data file (past drawings) and calculates the combination lexicographical order (CSN) for every lottery drawing in the specified range. The rank, or index, or lexicographical order is written to a new file, next to the corresponding lotto draw. It offers good information on a possible lotto strategy based on lexicographical ranks. Perhaps you notice that a combination lexicographic rank (CSN) in the 2,000,000 range will come out soon.

The Combinations.exe software also covers the Powerball-type of lotto games (sets of numbers where the last number can be equal to any of the preceding numbers). Other lottery games in the category: Mega Millions, California SuperLotto, or Thunderball (UK).

``` 1:  1  2  3  4  5   1
1001:  1  4  5  9  10   1
2001:  3  4  5  7  8   1
```

There is also another lotto game covered by this grandiose program: Euromillions. The European lotto game draws 5 regular numbers from a field of 50 AND 2 Star numbers from a field of 9.

There is even more. I created algorithms for a generalized situation: Two-in-One lotto games. Take as an example: The lottery commission draws 5 numbers from a field of 25 AND 4 numbers from a field of 24. The good news is that this generalized function handles also Powerball and Euro Millions! Let's all chant: Euro, Euro! Millσnes!! Combinations.exe software also handles horseracing straight sets; e.g. exactas, trifectas (top-three-finishers) or superfectas.

The user can choose a file name of his/her own, or accept the default. The default file name is constructed based on the parameters of the respective lotto game. For example, the 6 from 49 lotto game: StepL49.6. You can add more info to that file name, such as the step. The file name can be up to 255 characters. Be forewarned! Combinations.exe generates the combinations to disk only. The output files can reach humongous sizes! Main candidates: Lotto games such as Powerball, Mega Millions, Euromillions, etc. The size is even larger if you choose to add the corresponding index to each lotto combination.

People kept in-my-face saying that it was impossible to generate lexicographic lotto combinations in cycles (steps) and also within ranges. Guest what?! BRRRRRRRRAHAHAHAHA!!!!!!! I just did it  and it only took me a couple of hours to upgrade Combinations.exe! This is undoubtedly the most comprehensive lotto software that generates lotto combinations. I can't see what other feature can be added to lottery generation  without filtering, that is!

The way I write lottery software is the best way to write software. Nothing is impossible.

Best of luck!