The storage requirement is too big for a fixed array.
I compiled as release with O1 omptimization, The vector read was improved by a second or so, but still not close to the on demand version. Given the storage overhead also of a container method I think i will stick with generating on the fly. The actual project has no special requirement for the solution combinations other than to look them up, so if storing is not faster and also eats memory then there is nothing to be gained.
I think this is partly down to the nature of the data also - The combinations are sequential and only require simple addition steps to cycle through them - Were the data required dependant on more complex calculations, then the storage option would certainly be preferrable.