I have a finite group $H$ and a number $n$ and would like to construct all groups $G$ of order $n$ such that $H$ is a subgroup of $G$. (In fact, I would prefer to construct only those which have $H\mathrel{\unlhd}G$ if this is possible—otherwise I'll just filter out the ones that aren't normal subgroups.)
I don't know if this is simple enough to do by hand but if not I have GAP. My motivation is that I'm looking for groups with a particular property but there are too many groups of order $2^k$ to reasonably search through them all.
Edit: I was asked to give an example. I have several groups $H$ of interest; here is $H_1$ in the format generated by GAP's GapInputPcGroup:
H:=function()
local g1,g2,g3,g4,g5,g6,g7,g8,r,f,g,rws,x;
f:=FreeGroup(IsSyllableWordsFamily,8);
g:=GeneratorsOfGroup(f);
g1:=g[1];
g2:=g[2];
g3:=g[3];
g4:=g[4];
g5:=g[5];
g6:=g[6];
g7:=g[7];
g8:=g[8];
rws:=SingleCollector(f,[ 2, 3, 2, 2, 2, 3, 3, 3 ]);
r:=[
[2,g8^2],
[3,g5],
[4,g5],
];
for x in r do SetPower(rws,x[1],x[2]);od;
r:=[
[2,1,g2*g8],
[3,1,g4],
[4,1,g5],
[6,1,g6*g7*g8],
[7,1,g8],
[8,1,g8],
[3,2,g3*g4*g5],
[4,2,g3],
[6,2,g7],
[4,3,g5],
[6,3,g6^2*g7^2],
[7,3,g6*g7^2],
[6,4,g6*g7*g8^2],
[7,4,g6],
[6,5,g6*g8],
[7,5,g7*g8^2],
[7,6,g8^2],
];
for x in r do SetCommutator(rws,x[1],x[2],x[3]);od;
return GroupByRwsNC(rws);
end;
H1:=H();
$H_1$ (like $H_2$ and $H_3$) has order 1296 and I am interested in $n$ which are small multiples of this order. Its StructureDescription is $((((C_3\times C_3) : C_3) : Q_8) : C_3) : C_2$ but this does not uniquely define it—in fact $H_3$ has the same StructureDescription.
Your specific $H_1$ has enough structure that the extensions of $H_1$ by small groups are fairly controlled. Unfortunately moving up from $H$ to $G$ is less well supported than moving from $G/H$ to $H$, but with $H$ so large compared to $G/H$, it makes more sense to start with $H$.
Suppose you wanted $G/H_1$ to be the dihedral group of order 10. The following GAP code does this by realizing that the dihedral group of order 10 has a minimal subnormal subgroup of order 5, and above that a composition factor of order 2.
Now we have a list of possible G. We can choose the ones we like however we like, but for instance if we wanted $G/H$ to be dihedral, we might proceed like this:
If you didn't mind $G/H$ being cyclic, then you could do the same idea:
As $[G:H]$ gets larger (especially if it has lots of factors), the story of where $G/H$ came from becomes more complicated. Once $[G:H]$ is divisible by 60, you run into other serious problems: $G/H$ may no longer have a composition series with cyclic factors. You are then stuck with the methods that start with $G/H$ and go “down” to $G$ by constructing $H$'s chief series.