I'm trying to come up with an algorithm that will prdocue random bingo tickets (6 tickets to a strip).

Each ticket must show three rows of five numbers from range [1,90] with one, two or three numbers from each sub-ranges [1,9], [10,19].....,[70,79],[80,90] in each colum. Each ticket must show all diferent numbers and be different from all other tickets. Furthermore tickets are come in 'sixes' so that all 90 numbers apear on each page. An example as

```
---------------------------------------
|2 | |27| | |45|56|61| | |
---------------------------------------
| |13|28| | |46| |62| |81|
----------------------------------------
|7 | | |35| | | |66|75|88|
```

so, im trying to work out an algorithm which i could run for each strip that would give me 6 strings that represet 6 tickets that make up a strip. an example string:

5.13.32.78.81^7.14.34.51.62^9.21.39.42.54

Has anyone had to do anything like this before? The algorithms im trying to come up with at the moment just don't feel efficient. I'm sure theres better ways.

regards