# Sum in Magic star puzzle

I have the following problem:

Place the first 11 natural numbers in the circles so that the sum of the four numbers at the tops of each of the five sectors-beams of the star equals 25. I came up with the fact that $$6$$ should be central number as the sum of numbers from 1 to 11 is 66. But how should I distribute all threes of sum=19 - i don't know. Would appreciate any help.

• FYI: sum 25 seems a bit arbitrary (except for 25=5*5), but, for example, sum 18 and sum 30 have less solutions, and may therefore be harder to spot. Nov 3, 2021 at 16:52

Assuming "sector beams" are the five kite-shaped things joined in the centre one solution would be

                  7

8        2       5        6

11
4           3
1

9              10


• Any step-by-step solution? Nov 6, 2021 at 6:51

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.