Vorige Pagina About the Author

' Generates Inlaid Magic Squares of order 28
' Based on Order 7 Magic Sub Squares with Different Magic Sums

' Tested with Office 2007 under Windows 7

Sub Priem28k2()

Dim a1(750), a(400), a7(49), a28(784), b1(45355), b(45355), c(49)

y = MsgBox("Locked", vbCritical, "Routine Priem28k2")
End
    
    n1 = 0: n9 = 0: n10 = 0: k1 = 1: k2 = 1
    
    Sheets("Klad1").Select
    
    t1 = Timer

For j201 = 98 To 116
j200 = Sheets("Partly28").Cells(j201, 402).Value
MC20 = Sheets("Partly28").Cells(j201, 401).Value

s20 = Sheets("Input20").Cells(j200, 34).Value
s28 = 28 * s20 / 20

If MC20 <> s20 Then
    y = MsgBox("Discrepancy in Input", 0, "Priem28k2")
    End
End If

Erase a28

For i1 = 1 To 400
    a(i1) = Sheets("Partly28").Cells(j201, i1).Value
Next i1
GoSub 700         'Assign to a28() Step 1

Erase a

For j101 = 18 To 33
j100 = Sheets("Input20").Cells(j200, j101).Value

'   Define variables

    Cntr3 = Sheets("Pairs7").Cells(j100, 6).Value      'Center Element
    Pr3 = 2 * Cntr3
    s3 = 3 * Cntr3
    s4 = 2 * Pr3
    nVar1 = Sheets("Pairs7").Cells(j100, 9).Value
   
    For i1 = 1 To nVar1
        a1(i1) = Sheets("Pairs7").Cells(j100, 9 + i1).Value
    Next i1
    m1 = 1: m2 = nVar1
    If a1(1) = 1 Then m1 = 2: m2 = m2 - 1
    
    Erase b1
    For i1 = m1 To m2
        b1(a1(i1)) = a1(i1)
    Next i1

'   Remove Used Primes

    For i1 = 1 To 784
        b1(a28(i1)) = 0
    Next i1

'   Generate Border Concentric Magic Squares (7 * 7)
     
    For j1 = m1 To m2
    If b1(a1(j1)) = 0 Then GoTo 10
    If b(a1(j1)) = 0 Then b(a1(j1)) = a1(j1): c(1) = a1(j1) Else GoTo 10
    a(1) = a1(j1)
   
    a(5) = Pr3 - a(1):
    If a(5) < a1(m1) Or a(5) > a1(m2) Then GoTo 50:
    If b1(a(5)) = 0 Then GoTo 50
    If b(a(5)) = 0 Then b(a(5)) = a(5): c(5) = a(5) Else GoTo 50

    For j2 = m1 To m2
    If b1(a1(j2)) = 0 Then GoTo 20
    If b(a1(j2)) = 0 Then b(a1(j2)) = a1(j2): c(2) = a1(j2) Else GoTo 20
    a(2) = a1(j2)
   
    a(6) = Pr3 - a(2):
    If a(6) < a1(m1) Or a(6) > a1(m2) Then GoTo 60:
    If b1(a(6)) = 0 Then GoTo 60
    If b(a(6)) = 0 Then b(a(6)) = a(6): c(6) = a(6) Else GoTo 60

    For j3 = m1 To m2
    If b1(a1(j3)) = 0 Then GoTo 30
    If b(a1(j3)) = 0 Then b(a1(j3)) = a1(j3): c(3) = a1(j3) Else GoTo 30
    a(3) = a1(j3)

    a(7) = Pr3 - a(3):
    If a(7) < a1(m1) Or a(7) > a1(m2) Then GoTo 70:
    If b1(a(7)) = 0 Then GoTo 70
    If b(a(7)) = 0 Then b(a(7)) = a(7): c(7) = a(7) Else GoTo 70

    a(4) = s4 - a(3) - a(2) - a(1)
    If a(4) < a1(m1) Or a(4) > a1(m2) Then GoTo 40:
    If b1(a(4)) = 0 Then GoTo 40
    If b(a(4)) = 0 Then b(a(4)) = a(4): c(4) = a(4) Else GoTo 40

    a(8) = Pr3 - a(4):
    If a(8) < a1(m1) Or a(8) > a1(m2) Then GoTo 80:
    If b1(a(8)) = 0 Then GoTo 80
    If b(a(8)) = 0 Then b(a(8)) = a(8): c(8) = a(8) Else GoTo 80
        
    For j9 = m1 To m2
    If b1(a1(j9)) = 0 Then GoTo 90
    If b(a1(j9)) = 0 Then b(a1(j9)) = a1(j9): c(9) = a1(j9) Else GoTo 90
    a(9) = a1(j9)
   
    a(12) = Pr3 - a(9):
    If a(12) < a1(m1) Or a(12) > a1(m2) Then GoTo 120:
    If b1(a(12)) = 0 Then GoTo 120
    If b(a(12)) = 0 Then b(a(12)) = a(12): c(12) = a(12) Else GoTo 120

    For j10 = m1 To m2
    If b1(a1(j10)) = 0 Then GoTo 100
    If b(a1(j10)) = 0 Then b(a1(j10)) = a1(j10): c(10) = a1(j10) Else GoTo 100
    a(10) = a1(j10)
    
    a(13) = Pr3 - a(10):
    If a(13) < a1(m1) Or a(13) > a1(m2) Then GoTo 130:
    If b1(a(13)) = 0 Then GoTo 130
    If b(a(13)) = 0 Then b(a(13)) = a(13): c(13) = a(13) Else GoTo 130

    a(11) = s4 - a(10) - a(9) - a(1)
    If a(11) < a1(m1) Or a(11) > a1(m2) Then GoTo 110:
    If b1(a(11)) = 0 Then GoTo 110
    If b(a(11)) = 0 Then b(a(11)) = a(11): c(11) = a(11) Else GoTo 110

    a(14) = Pr3 - a(11):
    If a(14) < a1(m1) Or a(14) > a1(m2) Then GoTo 140:
    If b1(a(14)) = 0 Then GoTo 140
    If b(a(14)) = 0 Then b(a(14)) = a(14): c(14) = a(14) Else GoTo 140

    a7(4) = a(4):  a7(5) = a(3):  a7(6) = a(2):  a7(7) = a(1):
    a7(43) = a(5): a7(46) = a(8): a7(47) = a(7): a7(48) = a(6):
    
    a7(8) = a(12):  a7(14) = a(9):
    a7(15) = a(13): a7(21) = a(10):
    a7(22) = a(14): a7(28) = a(11):
                        
    For j15 = m1 To m2
    If b1(a1(j15)) = 0 Then GoTo 150
    If b(a1(j15)) = 0 Then b(a1(j15)) = a1(j15): c(15) = a1(j15) Else GoTo 150
    a(15) = a1(j15)
    
    a(18) = Pr3 - a(15):
    If a(18) < a1(m1) Or a(18) > a1(m2) Then GoTo 180:
    If b1(a(18)) = 0 Then GoTo 180
    If b(a(18)) = 0 Then b(a(18)) = a(18): c(18) = a(18) Else GoTo 180
    
    For j16 = m1 To m2
    If b1(a1(j16)) = 0 Then GoTo 160
    If b(a1(j16)) = 0 Then b(a1(j16)) = a1(j16): c(16) = a1(j16) Else GoTo 160
    a(16) = a1(j16)

    a(19) = Pr3 - a(16):
    If a(19) < a1(m1) Or a(19) > a1(m2) Then GoTo 190:
    If b1(a(19)) = 0 Then GoTo 190
    If b(a(19)) = 0 Then b(a(19)) = a(19): c(19) = a(19) Else GoTo 190

    a(17) = s3 - a(16) - a(15)
    If a(17) < a1(m1) Or a(17) > a1(m2) Then GoTo 170:
    If b1(a(17)) = 0 Then GoTo 170
    If b(a(17)) = 0 Then b(a(17)) = a(17): c(17) = a(17) Else GoTo 170

    a(20) = Pr3 - a(17):
    If a(20) < a1(m1) Or a(20) > a1(m2) Then GoTo 200:
    If b1(a(20)) = 0 Then GoTo 200
    If b(a(20)) = 0 Then b(a(20)) = a(20): c(20) = a(20) Else GoTo 200
    
    For j21 = m1 To m2
    If b1(a1(j21)) = 0 Then GoTo 210
    If b(a1(j21)) = 0 Then b(a1(j21)) = a1(j21): c(21) = a1(j21) Else GoTo 210
    a(21) = a1(j21)

    a(23) = Pr3 - a(21):
    If a(23) < a1(m1) Or a(23) > a1(m2) Then GoTo 230:
    If b1(a(23)) = 0 Then GoTo 230
    If b(a(23)) = 0 Then b(a(23)) = a(23): c(23) = a(23) Else GoTo 230

    a(22) = s3 - a(21) - a(20)
    If a(22) < a1(m1) Or a(22) > a1(m2) Then GoTo 220:
    If b1(a(22)) = 0 Then GoTo 220
    If b(a(22)) = 0 Then b(a(22)) = a(22): c(22) = a(22) Else GoTo 220

    a(24) = Pr3 - a(22):
    If a(24) < a1(m1) Or a(24) > a1(m2) Then GoTo 240:
    If b1(a(24)) = 0 Then GoTo 240
    If b(a(24)) = 0 Then b(a(24)) = a(24): c(24) = a(24) Else GoTo 240

    a7(1) = a(17):  a7(2) = a(16):  a7(3) = a(15):
    a7(44) = a(19): a7(45) = a(18): a7(49) = a(20):
                                
    a7(29) = a(24): a7(35) = a(22):
    a7(36) = a(23): a7(42) = a(21):

                          GoSub 800: If fl1 = 0 Then GoTo 75

                          For i1 = 1 To 49: a(i1) = a7(i1): Next i1
                          Erase a7
                          n10 = n10 + 1: GoSub 750              'Assign to a28()
                          
                          Erase b, c: GoTo 5                    'Assign only first square
75

    b(c(24)) = 0: c(24) = 0
240 b(c(22)) = 0: c(22) = 0
220 b(c(23)) = 0: c(23) = 0
230 b(c(21)) = 0: c(21) = 0
210 Next j21

    b(c(20)) = 0: c(20) = 0
200 b(c(17)) = 0: c(17) = 0
170 b(c(19)) = 0: c(19) = 0
190 b(c(16)) = 0: c(16) = 0
160 Next j16

    b(c(18)) = 0: c(18) = 0
180 b(c(15)) = 0: c(15) = 0
150 Next j15

    b(c(14)) = 0: c(14) = 0
140 b(c(11)) = 0: c(11) = 0
110 b(c(13)) = 0: c(13) = 0
130 b(c(10)) = 0: c(10) = 0
100 Next j10

    b(c(12)) = 0: c(12) = 0
120 b(c(9)) = 0: c(9) = 0
90  Next j9

   b(c(8)) = 0: c(8) = 0
80 b(c(4)) = 0: c(4) = 0
40 b(c(7)) = 0: c(7) = 0
70 b(c(3)) = 0: c(3) = 0
30 Next j3

   b(c(6)) = 0: c(6) = 0
60 b(c(2)) = 0: c(2) = 0
20 Next j2

   b(c(5)) = 0: c(5) = 0
50 b(c(1)) = 0: c(1) = 0
10 Next j1

'   Not found
    Erase b, c: n10 = 0: GoTo 2000

5
    If n10 = 16 Then
        GoSub 850:
        If fl1 = 1 Then
           n9 = n9 + 1: GoSub 660   'Print results (squares)
           If n9 = 8 Then End
           n10 = 0: GoTo 2000
        End If
    End If

      Next j101
      
2000  n10 = 0
      Next j201

   t2 = Timer
    
   t10 = Str(t2 - t1) + " sec., " + Str(n9) + " Solutions"
   y = MsgBox(t10, 0, "Routine Priem28k2")

End

'   Assign to a28()

'   Step 1

700 a28(30) = a(1):     a28(31) = a(2):     a28(32) = a(3):     a28(33) = a(4):     a28(34) = a(5):
    a28(58) = a(21):    a28(59) = a(22):    a28(60) = a(23):    a28(61) = a(24):    a28(62) = a(25):
    a28(86) = a(41):    a28(87) = a(42):    a28(88) = a(43):    a28(89) = a(44):    a28(90) = a(45):
    a28(114) = a(61):   a28(115) = a(62):   a28(116) = a(63):   a28(117) = a(64):   a28(118) = a(65):
    a28(142) = a(81):   a28(143) = a(82):   a28(144) = a(83):   a28(145) = a(84):   a28(146) = a(85):
    
    a28(37) = a(6):     a28(38) = a(7):     a28(39) = a(8):     a28(40) = a(9):     a28(41) = a(10):
    a28(65) = a(26):    a28(66) = a(27):    a28(67) = a(28):    a28(68) = a(29):    a28(69) = a(30):
    a28(93) = a(46):    a28(94) = a(47):    a28(95) = a(48):    a28(96) = a(49):    a28(97) = a(50):
    a28(121) = a(66):   a28(122) = a(67):   a28(123) = a(68):   a28(124) = a(69):   a28(125) = a(70):
    a28(149) = a(86):   a28(150) = a(87):   a28(151) = a(88):   a28(152) = a(89):   a28(153) = a(90):
    
    a28(44) = a(11):    a28(45) = a(12):    a28(46) = a(13):    a28(47) = a(14):    a28(48) = a(15):
    a28(72) = a(31):    a28(73) = a(32):    a28(74) = a(33):    a28(75) = a(34):    a28(76) = a(35):
    a28(100) = a(51):   a28(101) = a(52):   a28(102) = a(53):   a28(103) = a(54):   a28(104) = a(55):
    a28(128) = a(71):   a28(129) = a(72):   a28(130) = a(73):   a28(131) = a(74):   a28(132) = a(75):
    a28(156) = a(91):   a28(157) = a(92):   a28(158) = a(93):   a28(159) = a(94):   a28(160) = a(95):
    
    a28(51) = a(16):    a28(52) = a(17):    a28(53) = a(18):    a28(54) = a(19):    a28(55) = a(20):
    a28(79) = a(36):    a28(80) = a(37):    a28(81) = a(38):    a28(82) = a(39):    a28(83) = a(40):
    a28(107) = a(56):   a28(108) = a(57):   a28(109) = a(58):   a28(110) = a(59):   a28(111) = a(60):
    a28(135) = a(76):   a28(136) = a(77):   a28(137) = a(78):   a28(138) = a(79):   a28(139) = a(80):
    a28(163) = a(96):   a28(164) = a(97):   a28(165) = a(98):   a28(166) = a(99):   a28(167) = a(100):
    
    a28(226) = a(101):  a28(227) = a(102):  a28(228) = a(103):  a28(229) = a(104):  a28(230) = a(105):
    a28(254) = a(121):  a28(255) = a(122):  a28(256) = a(123):  a28(257) = a(124):  a28(258) = a(125):
    a28(282) = a(141):  a28(283) = a(142):  a28(284) = a(143):  a28(285) = a(144):  a28(286) = a(145):
    a28(310) = a(161):  a28(311) = a(162):  a28(312) = a(163):  a28(313) = a(164):  a28(314) = a(165):
    a28(338) = a(181):  a28(339) = a(182):  a28(340) = a(183):  a28(341) = a(184):  a28(342) = a(185):
    
    a28(233) = a(106):  a28(234) = a(107):  a28(235) = a(108):  a28(236) = a(109):  a28(237) = a(110):
    a28(261) = a(126):  a28(262) = a(127):  a28(263) = a(128):  a28(264) = a(129):  a28(265) = a(130):
    a28(289) = a(146):  a28(290) = a(147):  a28(291) = a(148):  a28(292) = a(149):  a28(293) = a(150):
    a28(317) = a(166):  a28(318) = a(167):  a28(319) = a(168):  a28(320) = a(169):  a28(321) = a(170):
    a28(345) = a(186):  a28(346) = a(187):  a28(347) = a(188):  a28(348) = a(189):  a28(349) = a(190):
    
    a28(240) = a(111):  a28(241) = a(112):  a28(242) = a(113):  a28(243) = a(114):  a28(244) = a(115):
    a28(268) = a(131):  a28(269) = a(132):  a28(270) = a(133):  a28(271) = a(134):  a28(272) = a(135):
    a28(296) = a(151):  a28(297) = a(152):  a28(298) = a(153):  a28(299) = a(154):  a28(300) = a(155):
    a28(324) = a(171):  a28(325) = a(172):  a28(326) = a(173):  a28(327) = a(174):  a28(328) = a(175):
    a28(352) = a(191):  a28(353) = a(192):  a28(354) = a(193):  a28(355) = a(194):  a28(356) = a(195):
    
    a28(247) = a(116):  a28(248) = a(117):  a28(249) = a(118):  a28(250) = a(119):  a28(251) = a(120):
    a28(275) = a(136):  a28(276) = a(137):  a28(277) = a(138):  a28(278) = a(139):  a28(279) = a(140):
    a28(303) = a(156):  a28(304) = a(157):  a28(305) = a(158):  a28(306) = a(159):  a28(307) = a(160):
    a28(331) = a(176):  a28(332) = a(177):  a28(333) = a(178):  a28(334) = a(179):  a28(335) = a(180):
    a28(359) = a(196):  a28(360) = a(197):  a28(361) = a(198):  a28(362) = a(199):  a28(363) = a(200):
    
    a28(422) = a(201):  a28(423) = a(202):  a28(424) = a(203):  a28(425) = a(204):  a28(426) = a(205):
    a28(450) = a(221):  a28(451) = a(222):  a28(452) = a(223):  a28(453) = a(224):  a28(454) = a(225):
    a28(478) = a(241):  a28(479) = a(242):  a28(480) = a(243):  a28(481) = a(244):  a28(482) = a(245):
    a28(506) = a(261):  a28(507) = a(262):  a28(508) = a(263):  a28(509) = a(264):  a28(510) = a(265):
    a28(534) = a(281):  a28(535) = a(282):  a28(536) = a(283):  a28(537) = a(284):  a28(538) = a(285):
    
    a28(429) = a(206):  a28(430) = a(207):  a28(431) = a(208):  a28(432) = a(209):  a28(433) = a(210):
    a28(457) = a(226):  a28(458) = a(227):  a28(459) = a(228):  a28(460) = a(229):  a28(461) = a(230):
    a28(485) = a(246):  a28(486) = a(247):  a28(487) = a(248):  a28(488) = a(249):  a28(489) = a(250):
    a28(513) = a(266):  a28(514) = a(267):  a28(515) = a(268):  a28(516) = a(269):  a28(517) = a(270):
    a28(541) = a(286):  a28(542) = a(287):  a28(543) = a(288):  a28(544) = a(289):  a28(545) = a(290):
    
    a28(436) = a(211):  a28(437) = a(212):  a28(438) = a(213):  a28(439) = a(214):  a28(440) = a(215):
    a28(464) = a(231):  a28(465) = a(232):  a28(466) = a(233):  a28(467) = a(234):  a28(468) = a(235):
    a28(492) = a(251):  a28(493) = a(252):  a28(494) = a(253):  a28(495) = a(254):  a28(496) = a(255):
    a28(520) = a(271):  a28(521) = a(272):  a28(522) = a(273):  a28(523) = a(274):  a28(524) = a(275):
    a28(548) = a(291):  a28(549) = a(292):  a28(550) = a(293):  a28(551) = a(294):  a28(552) = a(295):
    
    a28(443) = a(216):  a28(444) = a(217):  a28(445) = a(218):  a28(446) = a(219):  a28(447) = a(220):
    a28(471) = a(236):  a28(472) = a(237):  a28(473) = a(238):  a28(474) = a(239):  a28(475) = a(240):
    a28(499) = a(256):  a28(500) = a(257):  a28(501) = a(258):  a28(502) = a(259):  a28(503) = a(260):
    a28(527) = a(276):  a28(528) = a(277):  a28(529) = a(278):  a28(530) = a(279):  a28(531) = a(280):
    a28(555) = a(296):  a28(556) = a(297):  a28(557) = a(298):  a28(558) = a(299):  a28(559) = a(300):
    
    a28(618) = a(301):  a28(619) = a(302):  a28(620) = a(303):  a28(621) = a(304):  a28(622) = a(305):
    a28(646) = a(321):  a28(647) = a(322):  a28(648) = a(323):  a28(649) = a(324):  a28(650) = a(325):
    a28(674) = a(341):  a28(675) = a(342):  a28(676) = a(343):  a28(677) = a(344):  a28(678) = a(345):
    a28(702) = a(361):  a28(703) = a(362):  a28(704) = a(363):  a28(705) = a(364):  a28(706) = a(365):
    a28(730) = a(381):  a28(731) = a(382):  a28(732) = a(383):  a28(733) = a(384):  a28(734) = a(385):
    
    a28(625) = a(306):  a28(626) = a(307):  a28(627) = a(308):  a28(628) = a(309):  a28(629) = a(310):
    a28(653) = a(326):  a28(654) = a(327):  a28(655) = a(328):  a28(656) = a(329):  a28(657) = a(330):
    a28(681) = a(346):  a28(682) = a(347):  a28(683) = a(348):  a28(684) = a(349):  a28(685) = a(350):
    a28(709) = a(366):  a28(710) = a(367):  a28(711) = a(368):  a28(712) = a(369):  a28(713) = a(370):
    a28(737) = a(386):  a28(738) = a(387):  a28(739) = a(388):  a28(740) = a(389):  a28(741) = a(390):
    
    a28(632) = a(311):  a28(633) = a(312):  a28(634) = a(313):  a28(635) = a(314):  a28(636) = a(315):
    a28(660) = a(331):  a28(661) = a(332):  a28(662) = a(333):  a28(663) = a(334):  a28(664) = a(335):
    a28(688) = a(351):  a28(689) = a(352):  a28(690) = a(353):  a28(691) = a(354):  a28(692) = a(355):
    a28(716) = a(371):  a28(717) = a(372):  a28(718) = a(373):  a28(719) = a(374):  a28(720) = a(375):
    a28(744) = a(391):  a28(745) = a(392):  a28(746) = a(393):  a28(747) = a(394):  a28(748) = a(395):
    
    a28(639) = a(316):  a28(640) = a(317):  a28(641) = a(318):  a28(642) = a(319):  a28(643) = a(320):
    a28(667) = a(336):  a28(668) = a(337):  a28(669) = a(338):  a28(670) = a(339):  a28(671) = a(340):
    a28(695) = a(356):  a28(696) = a(357):  a28(697) = a(358):  a28(698) = a(359):  a28(699) = a(360):
    a28(723) = a(376):  a28(724) = a(377):  a28(725) = a(378):  a28(726) = a(379):  a28(727) = a(380):
    a28(751) = a(396):  a28(752) = a(397):  a28(753) = a(398):  a28(754) = a(399):  a28(755) = a(400):

    Return

'   Step 2

750 Select Case n10

Case 1
a28(1) = a(1):    a28(2) = a(2):   a28(3) = a(3):    a28(4) = a(4):     a28(5) = a(5):    a28(6) = a(6):    a28(7) = a(7):
a28(29) = a(8):                         a28(35) = a(14):
a28(57) = a(15):                        a28(63) = a(21):
a28(85) = a(22):                        a28(91) = a(28):
a28(113) = a(29):                       a28(119) = a(35):
a28(141) = a(36):                       a28(147) = a(42):
a28(169) = a(43): a28(170) = a(44): a28(171) = a(45): a28(172) = a(46): a28(173) = a(47): a28(174) = a(48): a28(175) = a(49):
    
Case 2
a28(8) = a(1):    a28(9) = a(2):    a28(10) = a(3):   a28(11) = a(4):   a28(12) = a(5):   a28(13) = a(6):   a28(14) = a(7):
a28(36) = a(8):                         a28(42) = a(14):
a28(64) = a(15):                        a28(70) = a(21):
a28(92) = a(22):                        a28(98) = a(28):
a28(120) = a(29):                       a28(126) = a(35):
a28(148) = a(36):                       a28(154) = a(42):
a28(176) = a(43): a28(177) = a(44): a28(178) = a(45): a28(179) = a(46): a28(180) = a(47): a28(181) = a(48): a28(182) = a(49):
    
Case 3
a28(15) = a(1):   a28(16) = a(2):   a28(17) = a(3):   a28(18) = a(4):   a28(19) = a(5):   a28(20) = a(6):   a28(21) = a(7):
a28(43) = a(8):                         a28(49) = a(14):
a28(71) = a(15):                        a28(77) = a(21):
a28(99) = a(22):                        a28(105) = a(28):
a28(127) = a(29):                       a28(133) = a(35):
a28(155) = a(36):                       a28(161) = a(42):
a28(183) = a(43): a28(184) = a(44): a28(185) = a(45): a28(186) = a(46): a28(187) = a(47): a28(188) = a(48): a28(189) = a(49):
    
Case 4
a28(22) = a(1):   a28(23) = a(2):   a28(24) = a(3):   a28(25) = a(4):   a28(26) = a(5):   a28(27) = a(6):   a28(28) = a(7):
a28(50) = a(8):                         a28(56) = a(14):
a28(78) = a(15):                        a28(84) = a(21):
a28(106) = a(22):                       a28(112) = a(28):
a28(134) = a(29):                       a28(140) = a(35):
a28(162) = a(36):                       a28(168) = a(42):
a28(190) = a(43): a28(191) = a(44): a28(192) = a(45): a28(193) = a(46): a28(194) = a(47): a28(195) = a(48): a28(196) = a(49):
    
Case 5
a28(197) = a(1):  a28(198) = a(2):  a28(199) = a(3):  a28(200) = a(4):  a28(201) = a(5):  a28(202) = a(6):  a28(203) = a(7):
a28(225) = a(8):                        a28(231) = a(14):
a28(253) = a(15):                       a28(259) = a(21):
a28(281) = a(22):                       a28(287) = a(28):
a28(309) = a(29):                       a28(315) = a(35):
a28(337) = a(36):                       a28(343) = a(42):
a28(365) = a(43): a28(366) = a(44): a28(367) = a(45): a28(368) = a(46): a28(369) = a(47): a28(370) = a(48): a28(371) = a(49):
    
Case 6
a28(204) = a(1):  a28(205) = a(2):  a28(206) = a(3):  a28(207) = a(4):  a28(208) = a(5):  a28(209) = a(6):  a28(210) = a(7):
a28(232) = a(8):                        a28(238) = a(14):
a28(260) = a(15):                       a28(266) = a(21):
a28(288) = a(22):                       a28(294) = a(28):
a28(316) = a(29):                       a28(322) = a(35):
a28(344) = a(36):                       a28(350) = a(42):
a28(372) = a(43): a28(373) = a(44): a28(374) = a(45): a28(375) = a(46): a28(376) = a(47): a28(377) = a(48): a28(378) = a(49):
    
Case 7
a28(211) = a(1):  a28(212) = a(2):  a28(213) = a(3):  a28(214) = a(4):  a28(215) = a(5):  a28(216) = a(6):  a28(217) = a(7):
a28(239) = a(8):                        a28(245) = a(14):
a28(267) = a(15):                       a28(273) = a(21):
a28(295) = a(22):                       a28(301) = a(28):
a28(323) = a(29):                       a28(329) = a(35):
a28(351) = a(36):                       a28(357) = a(42):
a28(379) = a(43): a28(380) = a(44): a28(381) = a(45): a28(382) = a(46): a28(383) = a(47): a28(384) = a(48): a28(385) = a(49):
    
Case 8
a28(218) = a(1):  a28(219) = a(2):  a28(220) = a(3):  a28(221) = a(4):  a28(222) = a(5):  a28(223) = a(6):  a28(224) = a(7):
a28(246) = a(8):                        a28(252) = a(14):
a28(274) = a(15):                       a28(280) = a(21):
a28(302) = a(22):                       a28(308) = a(28):
a28(330) = a(29):                       a28(336) = a(35):
a28(358) = a(36):                       a28(364) = a(42):
a28(386) = a(43): a28(387) = a(44): a28(388) = a(45): a28(389) = a(46): a28(390) = a(47): a28(391) = a(48): a28(392) = a(49):
    
Case 9
a28(393) = a(1):  a28(394) = a(2):  a28(395) = a(3):  a28(396) = a(4):  a28(397) = a(5):  a28(398) = a(6):  a28(399) = a(7):
a28(421) = a(8):                        a28(427) = a(14):
a28(449) = a(15):                       a28(455) = a(21):
a28(477) = a(22):                       a28(483) = a(28):
a28(505) = a(29):                       a28(511) = a(35):
a28(533) = a(36):                       a28(539) = a(42):
a28(561) = a(43): a28(562) = a(44): a28(563) = a(45): a28(564) = a(46): a28(565) = a(47): a28(566) = a(48): a28(567) = a(49):
    
Case 10
a28(400) = a(1):  a28(401) = a(2):  a28(402) = a(3):  a28(403) = a(4):  a28(404) = a(5):  a28(405) = a(6):  a28(406) = a(7):
a28(428) = a(8):                        a28(434) = a(14):
a28(456) = a(15):                       a28(462) = a(21):
a28(484) = a(22):                       a28(490) = a(28):
a28(512) = a(29):                       a28(518) = a(35):
a28(540) = a(36):                       a28(546) = a(42):
a28(568) = a(43): a28(569) = a(44): a28(570) = a(45): a28(571) = a(46): a28(572) = a(47): a28(573) = a(48): a28(574) = a(49):
    
Case 11
a28(407) = a(1):  a28(408) = a(2):  a28(409) = a(3):  a28(410) = a(4):  a28(411) = a(5):  a28(412) = a(6):  a28(413) = a(7):
a28(435) = a(8):                        a28(441) = a(14):
a28(463) = a(15):                       a28(469) = a(21):
a28(491) = a(22):                       a28(497) = a(28):
a28(519) = a(29):                       a28(525) = a(35):
a28(547) = a(36):                       a28(553) = a(42):
a28(575) = a(43): a28(576) = a(44): a28(577) = a(45): a28(578) = a(46): a28(579) = a(47): a28(580) = a(48): a28(581) = a(49):
    
Case 12
a28(414) = a(1):  a28(415) = a(2):  a28(416) = a(3):  a28(417) = a(4):  a28(418) = a(5):  a28(419) = a(6):  a28(420) = a(7):
a28(442) = a(8):                        a28(448) = a(14):
a28(470) = a(15):                       a28(476) = a(21):
a28(498) = a(22):                       a28(504) = a(28):
a28(526) = a(29):                       a28(532) = a(35):
a28(554) = a(36):                       a28(560) = a(42):
a28(582) = a(43): a28(583) = a(44): a28(584) = a(45): a28(585) = a(46): a28(586) = a(47): a28(587) = a(48): a28(588) = a(49):
    
Case 13
a28(589) = a(1):  a28(590) = a(2):  a28(591) = a(3):  a28(592) = a(4):  a28(593) = a(5):  a28(594) = a(6):  a28(595) = a(7):
a28(617) = a(8):                        a28(623) = a(14):
a28(645) = a(15):                       a28(651) = a(21):
a28(673) = a(22):                       a28(679) = a(28):
a28(701) = a(29):                       a28(707) = a(35):
a28(729) = a(36):                       a28(735) = a(42):
a28(757) = a(43): a28(758) = a(44): a28(759) = a(45): a28(760) = a(46): a28(761) = a(47): a28(762) = a(48): a28(763) = a(49):
    
Case 14
a28(596) = a(1):  a28(597) = a(2):  a28(598) = a(3):  a28(599) = a(4):  a28(600) = a(5):  a28(601) = a(6):  a28(602) = a(7):
a28(624) = a(8):                        a28(630) = a(14):
a28(652) = a(15):                       a28(658) = a(21):
a28(680) = a(22):                       a28(686) = a(28):
a28(708) = a(29):                       a28(714) = a(35):
a28(736) = a(36):                       a28(742) = a(42):
a28(764) = a(43): a28(765) = a(44): a28(766) = a(45): a28(767) = a(46): a28(768) = a(47): a28(769) = a(48): a28(770) = a(49):
    
Case 15
a28(603) = a(1):  a28(604) = a(2):  a28(605) = a(3):  a28(606) = a(4):  a28(607) = a(5):  a28(608) = a(6):  a28(609) = a(7):
a28(631) = a(8):                        a28(637) = a(14):
a28(659) = a(15):                       a28(665) = a(21):
a28(687) = a(22):                       a28(693) = a(28):
a28(715) = a(29):                       a28(721) = a(35):
a28(743) = a(36):                       a28(749) = a(42):
a28(771) = a(43): a28(772) = a(44): a28(773) = a(45): a28(774) = a(46): a28(775) = a(47): a28(776) = a(48): a28(777) = a(49):
    
Case 16
a28(610) = a(1):  a28(611) = a(2):  a28(612) = a(3):  a28(613) = a(4):  a28(614) = a(5):  a28(615) = a(6):  a28(616) = a(7):
a28(638) = a(8):                        a28(644) = a(14):
a28(666) = a(15):                       a28(672) = a(21):
a28(694) = a(22):                       a28(700) = a(28):
a28(722) = a(29):                       a28(728) = a(35):
a28(750) = a(36):                       a28(756) = a(42):
a28(778) = a(43): a28(779) = a(44): a28(780) = a(45): a28(781) = a(46): a28(782) = a(47): a28(783) = a(48): a28(784) = a(49):

    End Select
    Return

'   Print results: squares a28()

660 n1 = n1 + 1
    If n1 = 2 Then
        n1 = 1: k1 = k1 + 29: k2 = 1
    Else
        If n9 > 1 Then k2 = k2 + 29
    End If
    
    Cells(k1, k2 + 1).Select
    Cells(k1, k2 + 1).Font.Color = -4165632
    Cells(k1, k2 + 1).Value = s28
    
    i3 = 0
    For i1 = 1 To 28
        For i2 = 1 To 28
            i3 = i3 + 1
            Cells(k1 + i1, k2 + i2).Value = a28(i3)
        Next i2
    Next i1
   
    Return

'   Exclude solutions with identical numbers a()

800 fl1 = 1
    For j1 = 1 To 49
       a2 = a7(j1): If a2 = 0 Then GoTo 810
       For j2 = (1 + j1) To 49
           If a2 = a7(j2) Then fl1 = 0: Return
       Next j2
810 Next j1
    Return

'   Exclude solutions with identical numbers a28()

850 fl1 = 1
    For j1 = 1 To 784
       a2 = a28(j1): If a2 = 0 Then GoTo 860
       For j2 = (1 + j1) To 784
           If a2 = a28(j2) Then fl1 = 0: Return
       Next j2
860 Next j1
    Return

End Sub

Vorige Pagina About the Author