Ruby all possible combinations of an array of arrays (one liner?)
===

Questions similar to this have been asked before on SO, but they're not quite what I need and I can't seem to arrive at my solution through altering/modifying those approaches.

In any case, I have an array of arrays, as follows:

    b= [["1"],["2"],["3"],["4"],["5"],["6"]]

(If it makes it easier to arrive at a solution, `b` can also be a one dimensional array, as follows: `["1","2","3","4","5","6"]`. Either type of input works for my needs.)

and I would like to generate the following:

    [["123456"],["213456"],["312456"],...] 

where each arry in the output array is a unique combination of the six possibilities. I would also take it as a single array (e.g., `["123456", "213456",...]`). The order of the output isn't particularly important as long as each entry is unique and no number repeats in a string (e.g., "112345" isn't allowed). All 6 numbers must also be used in each entry, so I'm not interested in incremental output like `"123"`, either.

As much as this sounds like it, this isn't a homework problem. I could brute for this thing and get the output I need. I just feel like there has to be a better, more elegant, solution.

Thanks.