First time poster but I thought some of you may be interested in a method I discovered to create large magic squares from two smaller magic squares.
The method results in a magic square with a length equal to two smaller magic squares multiplied together so if your two input squares were both 3×3 you’d end up with 9×9, if one was 3×3 and the other 4×4 you’d end up with 12×12, if both were 4096×4096 you’d end up with 16777216 x 16777216 etc.
The first step is to take the first magic square which I call the pattern square and simply use this as a repeating tile covering the area you want your result to take up.
The next step is to take your second square which I call the modifier square (you can even use square 1 again) to create a table showing how to modify the tiled result from the first step. The result space needs to be split up in to equal sized subsections corresponding to cells of your modifier square. The resulting subsections of the large square should be equal to their corresponding cell multiplied by the total number of cells in the pattern square.
The final step is to simply add the two resulting squares together and you have your completed magic square.
And to demonstrate that it works with different sized inputs:
[EDIT] I realised I made a mistake rushing this post. I accidentally add 12x the modifier rather than 16x. The lines still have a consistant sum but it’s caused a some of the numbers to be repeated. Too lazy to redo the image right now.
It even works with magic cubes and I would assume hypercubes though I haven’t tested this yet.