With puzzle game, you almost certainly can do it with 1 or maybe several layouts and make any number of levels.
You need to decide how are you going to generate each level and how are you going to store levels data.
What I do in my game -
I have about 30 layouts and 200+ levels.
I created a CSV file in Excel with various parameters for all my 200+ levels. Among other values this data contains layout name for each level.
On start of each level I load data for this CSV and start the layout defined for this level.