Complement to loopy walt answer:
There are 8 'distinct' solutions apparently (if I coded well in Julia), each solution having 10 variants (rotation and mirror -wise).
The program runs for any n=numVertices and only provides solutions for n=4 and n=5.
Perhaps, for n=3, 3^2=9 is too small, and, for n=6, 6^2=36 is too big.
code:
using Printf
using Combinatorics
# number of vertices of polygon
numVertices = 5 # e.g. 5 = pentagon
# number of points
# vertices of two polygons and one center point
numPoints = 2 * numVertices + 1
# array of all points involved
Points = collect(1 : numPoints)
# try every point as center
for center in Points
# total of four values in vertices of each kite-shape
# taken to be square of number of vertices in the exercise
totKiteShape = numVertices * numVertices # e.g. 5 * 5 = 25
@printf("center = %d\n", center)
# total of three values in vertices of each triangle
# (all kite-shapes share same center)
totTriangle = totKiteShape - center
# split Points minus center in two equal parts
# which are potential vertices of two polygons
# inner and outer polygon
# make indices of polygons go clockwise
# smaller inner polygon
# 1 2
# 5 3
# 4
# larger outer polygon
# 1
#
# 5 2
#
# 4 3
# take out center from copy of Points
allVertices = filter!(x -> x ≠ center, copy(Points))
for outerPolygon in combinations(allVertices, numVertices)
innerPolygon = filter!(y -> y ∉ outerPolygon, copy(allVertices))
# if we sum up all vertices of all kite-shapes
# inner polygon are counted twice
# outer polygon are counted once
# these two must be equal
if (2 * sum(innerPolygon) + sum(outerPolygon)) == (numVertices * totTriangle)
innerPermutations = permutations(innerPolygon)
outerPermutations = permutations(outerPolygon)
# go over all permutations of inner polygon and outer polygon
for ip in innerPermutations
for op in outerPermutations
# check if each triangle adds up to requested total
ok = 1
for vertex in (1 : numVertices)
nextvertex = vertex + 1
# largest and smallest indices are next to one another
if vertex == numVertices
nextvertex = 1
end
# add up the values and compare with total
if ((op[vertex] + (ip[vertex] + ip[nextvertex])) ≠ totTriangle)
ok = 0
break
end
end
# print the solution
if ok == 1
@printf("inner = ")
for elem in ip
@printf("%02d ", elem)
end
@printf(" ")
@printf("outer = ")
for elem in op
@printf("%02d ", elem)
end
@printf("\n")
end
end
end
end
end
end
Here is relevant part of output (I marked loopy walt solution with <<--), of course, all 9 others are variants of that solution with center 11 :
center = 4
inner = 06 07 11 09 10 outer = 08 03 01 02 05
inner = 06 10 09 11 07 outer = 05 02 01 03 08
inner = 07 06 10 09 11 outer = 08 05 02 01 03
inner = 07 11 09 10 06 outer = 03 01 02 05 08
inner = 09 10 06 07 11 outer = 02 05 08 03 01
inner = 09 11 07 06 10 outer = 01 03 08 05 02
inner = 10 06 07 11 09 outer = 05 08 03 01 02
inner = 10 09 11 07 06 outer = 02 01 03 08 05
inner = 11 07 06 10 09 outer = 03 08 05 02 01
inner = 11 09 10 06 07 outer = 01 02 05 08 03
inner = 05 09 11 08 10 outer = 07 01 02 03 06
inner = 05 10 08 11 09 outer = 06 03 02 01 07
inner = 08 10 05 09 11 outer = 03 06 07 01 02
inner = 08 11 09 05 10 outer = 02 01 07 06 03
inner = 09 05 10 08 11 outer = 07 06 03 02 01
inner = 09 11 08 10 05 outer = 01 02 03 06 07
inner = 10 05 09 11 08 outer = 06 07 01 02 03
inner = 10 08 11 09 05 outer = 03 02 01 07 06
inner = 11 08 10 05 09 outer = 02 03 06 07 01
inner = 11 09 05 10 08 outer = 01 07 06 03 02
center = 6
inner = 03 05 10 08 09 outer = 11 04 01 02 07
inner = 03 09 08 10 05 outer = 07 02 01 04 11
inner = 05 03 09 08 10 outer = 11 07 02 01 04
inner = 05 10 08 09 03 outer = 04 01 02 07 11
inner = 08 09 03 05 10 outer = 02 07 11 04 01
inner = 08 10 05 03 09 outer = 01 04 11 07 02
inner = 09 03 05 10 08 outer = 07 11 04 01 02
inner = 09 08 10 05 03 outer = 02 01 04 11 07
inner = 10 05 03 09 08 outer = 04 11 07 02 01
inner = 10 08 09 03 05 outer = 01 02 07 11 04
center = 7
inner = 01 06 10 05 09 outer = 11 02 03 04 08
inner = 01 09 05 10 06 outer = 08 04 03 02 11
inner = 05 09 01 06 10 outer = 04 08 11 02 03
inner = 05 10 06 01 09 outer = 03 02 11 08 04
inner = 06 01 09 05 10 outer = 11 08 04 03 02
inner = 06 10 05 09 01 outer = 02 03 04 08 11
inner = 09 01 06 10 05 outer = 08 11 02 03 04
inner = 09 05 10 06 01 outer = 04 03 02 11 08
inner = 10 05 09 01 06 outer = 03 04 08 11 02
inner = 10 06 01 09 05 outer = 02 11 08 04 03
center = 8
inner = 02 04 07 09 05 outer = 11 06 01 03 10
inner = 02 05 09 07 04 outer = 10 03 01 06 11
inner = 04 02 05 09 07 outer = 11 10 03 01 06
inner = 04 07 09 05 02 outer = 06 01 03 10 11
inner = 05 02 04 07 09 outer = 10 11 06 01 03
inner = 05 09 07 04 02 outer = 03 01 06 11 10
inner = 07 04 02 05 09 outer = 06 11 10 03 01
inner = 07 09 05 02 04 outer = 01 03 10 11 06
inner = 09 05 02 04 07 outer = 03 10 11 06 01
inner = 09 07 04 02 05 outer = 01 06 11 10 03
inner = 01 05 10 04 07 outer = 11 02 03 06 09
inner = 01 07 04 10 05 outer = 09 06 03 02 11
inner = 04 07 01 05 10 outer = 06 09 11 02 03
inner = 04 10 05 01 07 outer = 03 02 11 09 06
inner = 05 01 07 04 10 outer = 11 09 06 03 02
inner = 05 10 04 07 01 outer = 02 03 06 09 11
inner = 07 01 05 10 04 outer = 09 11 02 03 06
inner = 07 04 10 05 01 outer = 06 03 02 11 09
inner = 10 04 07 01 05 outer = 03 06 09 11 02
inner = 10 05 01 07 04 outer = 02 11 09 06 03
center = 9
inner = 01 07 03 02 10 outer = 08 06 11 04 05
inner = 01 10 02 03 07 outer = 05 04 11 06 08
inner = 02 03 07 01 10 outer = 11 06 08 05 04
inner = 02 10 01 07 03 outer = 04 05 08 06 11
inner = 03 02 10 01 07 outer = 11 04 05 08 06
inner = 03 07 01 10 02 outer = 06 08 05 04 11
inner = 07 01 10 02 03 outer = 08 05 04 11 06
inner = 07 03 02 10 01 outer = 06 11 04 05 08
inner = 10 01 07 03 02 outer = 05 08 06 11 04
inner = 10 02 03 07 01 outer = 04 11 06 08 05
center = 11
inner = 01 03 05 02 04 outer = 10 06 07 08 09
inner = 01 04 02 05 03 outer = 09 08 07 06 10
inner = 02 04 01 03 05 outer = 08 09 10 06 07
inner = 02 05 03 01 04 outer = 07 06 10 09 08 <<--
inner = 03 01 04 02 05 outer = 10 09 08 07 06
inner = 03 05 02 04 01 outer = 06 07 08 09 10
inner = 04 01 03 05 02 outer = 09 10 06 07 08
inner = 04 02 05 03 01 outer = 08 07 06 10 09
inner = 05 02 04 01 03 outer = 07 08 09 10 06
inner = 05 03 01 04 02 outer = 06 10 09 08 07
FYI
Here are 2 'distinct' solutions for n=4 (and sum 16=4*4).
(rotated 45 degrees)
6 2 9 8 1 9
7 1 4 5 2 4
5 3 8 6 3 7
Some particular extra equality about the solutions for n=4 is that sum of opposite corners is same (or, if you wish, sum along diagonals is same) as in
6+8=5+9=14 and 8+7=6+9=15
This equality is not too hard to prove.