A simple GAP computation yields answers. I used this program:
isNonInnerPowerAuto := function(G, k)
local gens, imgs, hom;
gens := GeneratorsOfGroup(G);
imgs := List(gens, x->x^k);
hom := GroupHomomorphismByImages(G, G, gens, imgs);
if hom = fail then return false; fi;
if not IsBijective(hom) then return false; fi;
if IsInnerAutomorphism(hom) then return false; fi;
return ForAll(G, g -> g^hom = g ^ k);
end;
for n in [6..127] do
if not IsPrimePowerInt(n) then continue; fi;
for i in [1..NrSmallGroups(n)] do
G := SmallGroup(n,i);
if IsAbelian(G) then continue; fi;
for k in [2..Exponent(G)-2] do
if isNonInnerPowerAuto(G,k) then
Print("for group ", IdGroup(G),", ",k, " is an auto, non-inner\n");
fi;
od;
od;
od;
Which resulted in this output:
for group [ 32, 5 ], 5 is an auto, non-inner
for group [ 32, 12 ], 5 is an auto, non-inner
for group [ 32, 17 ], 5 is an auto, non-inner
for group [ 32, 17 ], 13 is an auto, non-inner
for group [ 32, 38 ], 5 is an auto, non-inner
for group [ 64, 3 ], 5 is an auto, non-inner
for group [ 64, 4 ], 5 is an auto, non-inner
for group [ 64, 5 ], 5 is an auto, non-inner
for group [ 64, 17 ], 5 is an auto, non-inner
for group [ 64, 27 ], 5 is an auto, non-inner
for group [ 64, 27 ], 13 is an auto, non-inner
for group [ 64, 29 ], 5 is an auto, non-inner
for group [ 64, 29 ], 9 is an auto, non-inner
for group [ 64, 29 ], 13 is an auto, non-inner
for group [ 64, 30 ], 5 is an auto, non-inner
for group [ 64, 30 ], 13 is an auto, non-inner
for group [ 64, 31 ], 9 is an auto, non-inner
for group [ 64, 44 ], 5 is an auto, non-inner
for group [ 64, 44 ], 9 is an auto, non-inner
for group [ 64, 44 ], 13 is an auto, non-inner
for group [ 64, 51 ], 5 is an auto, non-inner
for group [ 64, 51 ], 9 is an auto, non-inner
for group [ 64, 51 ], 13 is an auto, non-inner
for group [ 64, 51 ], 21 is an auto, non-inner
for group [ 64, 51 ], 25 is an auto, non-inner
for group [ 64, 51 ], 29 is an auto, non-inner
for group [ 64, 86 ], 5 is an auto, non-inner
for group [ 64, 87 ], 5 is an auto, non-inner
for group [ 64, 89 ], 5 is an auto, non-inner
for group [ 64, 103 ], 5 is an auto, non-inner
for group [ 64, 105 ], 5 is an auto, non-inner
for group [ 64, 112 ], 5 is an auto, non-inner
for group [ 64, 114 ], 5 is an auto, non-inner
for group [ 64, 115 ], 5 is an auto, non-inner
for group [ 64, 116 ], 5 is an auto, non-inner
for group [ 64, 117 ], 5 is an auto, non-inner
for group [ 64, 126 ], 5 is an auto, non-inner
for group [ 64, 127 ], 5 is an auto, non-inner
for group [ 64, 184 ], 5 is an auto, non-inner
for group [ 64, 184 ], 13 is an auto, non-inner
for group [ 64, 185 ], 5 is an auto, non-inner
for group [ 64, 185 ], 9 is an auto, non-inner
for group [ 64, 185 ], 13 is an auto, non-inner
for group [ 64, 248 ], 5 is an auto, non-inner
for group [ 81, 3 ], 4 is an auto, non-inner
for group [ 81, 3 ], 7 is an auto, non-inner
for group [ 81, 4 ], 4 is an auto, non-inner
for group [ 81, 4 ], 7 is an auto, non-inner
for group [ 81, 6 ], 4 is an auto, non-inner
for group [ 81, 6 ], 7 is an auto, non-inner
for group [ 81, 6 ], 13 is an auto, non-inner
for group [ 81, 6 ], 16 is an auto, non-inner
for group [ 81, 6 ], 22 is an auto, non-inner
for group [ 81, 6 ], 25 is an auto, non-inner
for group [ 81, 14 ], 4 is an auto, non-inner
for group [ 81, 14 ], 7 is an auto, non-inner
The smallest examples are of order 32. Note that $k$ is always coprime
to the group order, so if it induces an automorphism, it is certainly not inner.
To work with any of them by hand, you can ask GAP for
a presentation:
gap> G := SmallGroup(32,5);
<pc group of size 32 with 5 generators>
gap> StructureDescription(G);
"(C8 x C2) : C2"
gap> gfp:=Image(IsomorphismFpGroup(G));
<fp group of size 32 on the generators [ F1, F2, F3, F4, F5 ]>
gap> RelatorsOfFpGroup(gfp);
[ F1^2*F4^-1, F2^-1*F1^-1*F2*F1*F3^-1, F3^-1*F1^-1*F3*F1, F4^-1*F1^-1*F4*F1,
F5^-1*F1^-1*F5*F1, F2^2, F3^-1*F2^-1*F3*F2, F4^-1*F2^-1*F4*F2,
F5^-1*F2^-1*F5*F2, F3^2, F4^-1*F3^-1*F4*F3, F5^-1*F3^-1*F5*F3, F4^2*F5^-1,
F5^-1*F4^-1*F5*F4, F5^2 ]
Or, ask for a power-conjugation presentation (this omits trivial conjugation relations,
e.g. g4^g3 = g4; look at the documentation of PrintPcpPresentation for details; ah yeah,
and note that it is part of the polycyclic package, which is, however, installed and
loaded by default in a regular GAP installation):
gap> PrintPcpPresentation(PcGroupToPcpGroup(G));
g1^2 = g4
g2^2 = id
g3^2 = id
g4^2 = g5
g5^2 = id
g2 ^ g1 = g2 * g3
Or ask for an isomorphic permutation group (I give two, one is the
regular representation, one a somewhat smaller one:
gap> H := Image(IsomorphismPermGroup(G));;
gap> SmallGeneratingSet(H);
[ (1,18,26,17,6,29,14,28)(2,13,30,23,10,3,20,31)(4,27,16,7,15,32,5,19)(8,24,22,
12,21,11,9,25), (1,24)(2,28)(3,15)(4,13)(5,31)(6,11)(7,21)(8,19)(9,32)(10,
17)(12,26)(14,25)(16,23)(18,30)(20,29)(22,27) ]
gap> SmallGeneratingSet(Image(SmallerDegreePermutationRepresentation(H)));
[ (1,2,4,7,5,8,11,14)(3,6,9,12,10,13,15,16), (2,6)(7,12)(8,13)(14,16),
(1,3)(2,6)(4,9)(5,10)(7,12)(8,13)(11,15)(14,16) ]