Vorige Pagina About the Author

' Generates Pan Diagonal/Triagonal Cubes of order 5 for integers 0 thru 4 based on Pan Diagonal Top Squares

' Tested with Office 2007 under Windows 7

Sub SudCube5e2()

Dim a(125), a5(25), b(10)

y = MsgBox("Locked", vbCritical, "Routine SudCube5e2")
End

n2 = 0: n9 = 0: k1 = 1: k2 = 1
m1 = 0: m2 = 4: s1 = 10
Sht1 = "TopSqr5": n4 = 161280
  
     Sheets("Klad1").Select
    
     t1 = Timer

'    Generate Cubes

     For j125 = 1 To n4
     
Cells(n9 + 1, 126).Value = j125
     
     For i1 = 101 To 125
        a(i1) = Sheets(Sht1).Cells(j125, i1).Value
     Next i1

     For j100 = m1 To m2
     a(100) = j100
     
        a(25) = -a(100) + a(110) + a(111) + a(114) - a(115) - a(116) + a(117) + a(118) - a(119)
        If a(25) < m1 Or a(25) > m2 Then GoTo 1000

     For j99 = m1 To m2
     a(99) = j99

        a(24) = -a(99) + a(110) + a(111) + a(117) - a(119) + a(124) - a(125)
        If a(24) < m1 Or a(24) > m2 Then GoTo 990

     For j98 = m1 To m2
     a(98) = j98

        a(23) = -a(98) + a(110) + a(111) - a(113) + a(114) - a(119) + a(120) + a(123) - a(125)
        If a(23) < m1 Or a(23) > m2 Then GoTo 980

     For j97 = m1 To m2
     a(97) = j97
    
        a(22) = -a(97) + a(110) + a(111) - a(112) + a(114) - a(116) + a(120) + a(122) - a(125)
        If a(22) < m1 Or a(22) > m2 Then GoTo 970
   
     For j96 = m1 To m2
     a(96) = j96
    
        a(21) = -a(96) + a(110) + a(114) - a(116) + a(118) + a(121) - a(125)
        If a(21) < m1 Or a(21) > m2 Then GoTo 960
    
     For j95 = m1 To m2
     a(95) = j95

        a(94) = a(95) + a(99) - a(100) + a(119) - a(120) - a(124) + a(125): If a(94) < m1 Or a(94) > m2 Then GoTo 950
        a(93) = a(95) + a(98) - a(100) + a(118) - a(120) - a(123) + a(125): If a(93) < m1 Or a(93) > m2 Then GoTo 950
        a(92) = a(95) + a(97) - a(100) + a(117) - a(120) - a(122) + a(125): If a(92) < m1 Or a(92) > m2 Then GoTo 950
        a(91) = a(95) + a(96) - a(100) + a(116) - a(120) - a(121) + a(125): If a(91) < m1 Or a(91) > m2 Then GoTo 950
        a(60) = a(95) + a(97) + a(98) - a(100) - a(110) - a(111) + a(112) + a(113) - a(114) + a(116) + a(119) - 2 * a(120) - a(122) - a(123) + 2 * a(125)
        If a(60) < m1 Or a(60) > m2 Then GoTo 950
        a(59) = a(95) + a(96) + a(97) - a(100) - a(110) + a(112) - a(114) + a(116) - a(120) - a(121) - a(122) + 2 * a(125)
        If a(59) < m1 Or a(59) > m2 Then GoTo 950
        a(58) = a(95) + a(96) - a(110) - a(114) + a(115) + a(116) - a(118) + a(119) - a(120) - a(121) + a(125)
        If a(58) < m1 Or a(58) > m2 Then GoTo 950
        a(57) = a(95) + a(99) - a(110) - a(111) + a(115) + a(116) - a(117) + a(119) - a(120) - a(124) + a(125)
        If a(57) < m1 Or a(57) > m2 Then GoTo 950
        a(56) = a(95) + a(98) + a(99) - a(100) - a(110) - a(111) + a(113) + a(119) - a(120) - a(123) - a(124) + 2 * a(125)
        If a(56) < m1 Or a(56) > m2 Then GoTo 950
        a(35) = s1 - a(95) - a(97) - a(98) + a(100) - a(117) - a(118) + a(120) - a(125)
        If a(35) < m1 Or a(35) > m2 Then GoTo 950
        a(34) = s1 - a(95) - a(96) - a(97) + a(100) - a(116) - a(117) + a(120) - a(125)
        If a(34) < m1 Or a(34) > m2 Then GoTo 950
        a(33) = s1 - a(95) - a(96) - a(116) - a(125): If a(33) < m1 Or a(33) > m2 Then GoTo 950
        a(32) = s1 - a(95) - a(99) - a(119) - a(125): If a(32) < m1 Or a(32) > m2 Then GoTo 950
        a(31) = s1 - a(95) - a(98) - a(99) + a(100) - a(118) - a(119) + a(120) - a(125)
        If a(31) < m1 Or a(31) > m2 Then GoTo 950
        a(20) = s1 - a(95) - a(115) - a(116) - a(119) + a(120) - a(125): If a(20) < m1 Or a(20) > m2 Then GoTo 950
        a(19) = s1 - a(95) - a(99) + a(100) - a(114) - a(118) - a(125):  If a(19) < m1 Or a(19) > m2 Then GoTo 950
        a(18) = s1 - a(95) - a(98) + a(100) - a(113) - a(117) - a(119) + a(120) - a(125)
        If a(18) < m1 Or a(18) > m2 Then GoTo 950
        a(17) = s1 - a(95) - a(97) + a(100) - a(112) - a(116) - a(118) + a(120) - a(125)
        If a(17) < m1 Or a(17) > m2 Then GoTo 950
        a(16) = s1 - a(95) - a(96) + a(100) - a(111) - a(117) - a(125):  If a(16) < m1 Or a(16) > m2 Then GoTo 950

     For j90 = m1 To m2
     a(90) = j90

        a(89) = a(90) + a(99) - a(100) + a(114) - a(115) - a(124) + a(125): If a(89) < m1 Or a(89) > m2 Then GoTo 900
        a(88) = a(90) + a(98) - a(100) + a(113) - a(115) - a(123) + a(125): If a(88) < m1 Or a(88) > m2 Then GoTo 900
        a(87) = a(90) + a(97) - a(100) + a(112) - a(115) - a(122) + a(125): If a(87) < m1 Or a(87) > m2 Then GoTo 900
        a(86) = a(90) + a(96) - a(100) + a(111) - a(115) - a(121) + a(125): If a(86) < m1 Or a(86) > m2 Then GoTo 900
        a(70) = s1 - a(90) - a(95) - a(96) - a(99) + a(100) - a(116) - a(119) + a(120) + a(121) + a(124) - 2 * a(125)
        If a(70) < m1 Or a(70) > m2 Then GoTo 900
        a(69) = s1 - a(90) - a(95) - a(98) - a(99) + a(100) - a(114) + a(115) - a(118) + a(123) - a(125)
        If a(69) < m1 Or a(69) > m2 Then GoTo 900
        a(68) = s1 - a(90) - a(95) - a(97) - a(98) - a(99) + 2 * a(100) - a(113) + a(115) - a(117) - a(119) + a(120) + a(122) + a(124) - 2 * a(125)
        If a(68) < m1 Or a(68) > m2 Then GoTo 900
        a(67) = s1 - a(90) - a(95) - a(96) - a(97) - a(98) + 2 * a(100) - a(112) + a(115) - a(116) - a(118) + a(120) + a(121) + a(123) - 2 * a(125)
        If a(67) < m1 Or a(67) > m2 Then GoTo 900
        a(66) = s1 - a(90) - a(95) - a(96) - a(97) + a(100) - a(111) + a(115) - a(117) + a(122) - a(125)
        If a(66) < m1 Or a(66) > m2 Then GoTo 900
        a(55) = -s1 + a(90) + a(95) + a(97) + a(98) - 2 * a(100) + a(110) + a(111) + a(114) - a(115) + a(117) + a(118) - a(120) + a(125)
        If a(55) < m1 Or a(55) > m2 Then GoTo 900
        a(54) = -s1 + a(90) + a(95) + a(96) + a(97) - 2 * a(100) + a(110) + a(111) + a(114) - a(115) + a(117) + a(118) - a(119) + a(125)
        If a(54) < m1 Or a(54) > m2 Then GoTo 900
        a(53) = -s1 + a(90) + a(95) + a(96) - a(100) + a(110) + a(111) + a(114) - a(115) + a(117) + a(125)
        If a(53) < m1 Or a(53) > m2 Then GoTo 900
        a(52) = -s1 + a(90) + a(95) + a(99) - a(100) + a(110) + a(111) + a(114) - a(115) + a(118) + a(125)
        If a(52) < m1 Or a(52) > m2 Then GoTo 900
        a(51) = -s1 + a(90) + a(95) + a(98) + a(99) - 2 * a(100) + a(110) + a(111) + a(114) - a(115) - a(116) + a(117) + a(118) + a(125)
        If a(51) < m1 Or a(51) > m2 Then GoTo 900
        a(45) = -s1 + a(90) + a(95) + a(96) + a(99) - a(100) + a(111) + a(114) - a(115) + a(120) + a(125)
        If a(45) < m1 Or a(45) > m2 Then GoTo 900
        a(44) = -s1 + a(90) + a(95) + a(98) + a(99) - a(100) + a(113) + 2 * a(119) - a(120) - a(124) + 2 * a(125)
        If a(44) < m1 Or a(44) > m2 Then GoTo 900
        a(43) = -s1 + a(90) + a(95) + a(97) + a(98) + a(99) - 2 * a(100) + a(112) + a(114) - a(115) + 2 * a(118) - a(120) - a(123) + 2 * a(125)
        If a(43) < m1 Or a(43) > m2 Then GoTo 900
        a(42) = -s1 + a(90) + a(95) + a(96) + a(97) + a(98) - 2 * a(100) + a(111) + a(113) - a(115) + 2 * a(117) - a(120) - a(122) + 2 * a(125)
        If a(42) < m1 Or a(42) > m2 Then GoTo 900
        a(41) = -s1 + a(90) + a(95) + a(96) + a(97) - a(100) + a(112) + 2 * a(116) - a(120) - a(121) + 2 * a(125)
        If a(41) < m1 Or a(41) > m2 Then GoTo 900
        a(30) = s1 - a(90) - a(95) - a(97) - a(98) + 2 * a(100) - a(112) - a(113) + a(115) - a(117) - a(118) + a(120) + a(122) + a(123) - 2 * a(125)
        If a(30) < m1 Or a(30) > m2 Then GoTo 900
        a(29) = s1 - a(90) - a(95) - a(96) - a(97) + 2 * a(100) - a(111) - a(112) + a(115) - a(116) - a(117) + a(120) + a(121) + a(122) - 2 * a(125)
        If a(29) < m1 Or a(29) > m2 Then GoTo 900
        a(28) = s1 - a(90) - a(95) - a(96) + a(100) - a(111) - a(116) + a(121) - a(125)
        If a(28) < m1 Or a(28) > m2 Then GoTo 900
        a(27) = s1 - a(90) - a(95) - a(99) + a(100) - a(114) - a(119) + a(124) - a(125)
        If a(27) < m1 Or a(27) > m2 Then GoTo 900
        a(26) = s1 - a(90) - a(95) - a(98) - a(99) + 2 * a(100) - a(113) - a(114) + a(115) - a(118) - a(119) + a(120) + a(123) + a(124) - 2 * a(125)
        If a(26) < m1 Or a(26) > m2 Then GoTo 900
        a(15) = s1 - a(90) - a(110) - a(111) - a(114) + a(115) - a(120)
        If a(15) < m1 Or a(15) > m2 Then GoTo 900
        a(14) = s1 - a(90) - a(99) + a(100) - a(110) - a(111) - a(114) + a(115) + a(116) - a(118) - a(120)
        If a(14) < m1 Or a(14) > m2 Then GoTo 900
        a(13) = s1 - a(90) - a(98) + a(100) - a(110) - a(111) - a(114) + a(115) + a(116) - a(117) - a(118)
        If a(13) < m1 Or a(13) > m2 Then GoTo 900
        a(12) = s1 - a(90) - a(97) + a(100) - a(110) - a(111) - a(114) + a(115) - a(117) - a(118) + a(119)
        If a(12) < m1 Or a(12) > m2 Then GoTo 900
        a(11) = s1 - a(90) - a(96) + a(100) - a(110) - a(111) - a(114) + a(115) - a(117) + a(119) - a(120)
        If a(11) < m1 Or a(11) > m2 Then GoTo 900

     For j85 = m1 To m2
     a(85) = j85

a(84) = a(85) + a(99) - a(100) + a(111) - a(113) + a(114) - a(115) - a(116) + a(118) - a(119) + a(120)
If a(84) < m1 Or a(84) > m2 Then GoTo 850
a(83) = a(85) + a(98) - a(100) + a(111) - a(112) - a(116) + a(117): If a(83) < m1 Or a(83) > m2 Then GoTo 850
a(82) = a(85) + a(97) - a(100) - a(113) + a(114) + a(118) - a(119): If a(82) < m1 Or a(82) > m2 Then GoTo 850
a(81) = a(85) + a(96) - a(100) + a(111) - a(112) + a(114) - a(115) - a(116) + a(117) - a(119) + a(120)
If a(81) < m1 Or a(81) > m2 Then GoTo 850
a(80) = s1 - a(85) - a(90) - a(95) - a(96) - a(97) - a(98) - a(99) + 3 * a(100) - a(111) - a(114) + 2 * a(115) + a(116) - a(117) - a(118) + a(119) + a(122) + a(123) - 2 * a(125)
If a(80) < m1 Or a(80) > m2 Then GoTo 850
a(79) = s1 - a(85) - a(90) - a(95) - a(96) - a(97) - a(98) + 2 * a(100) - a(111) + a(115) - a(117) + a(120) + a(121) + a(122) - 2 * a(125)
If a(79) < m1 Or a(79) > m2 Then GoTo 850
a(78) = s1 - a(85) - a(90) - a(95) - a(96) - a(97) - a(99) + 2 * a(100) - a(111) + a(113) - a(114) + a(115) - a(118) + a(119) + a(121) - a(125)
If a(78) < m1 Or a(78) > m2 Then GoTo 850
a(77) = s1 - a(85) - a(90) - a(95) - a(96) - a(98) - a(99) + 2 * a(100) - a(111) + a(112) - a(114) + a(115) + a(116) - a(117) + a(124) - a(125)
If a(77) < m1 Or a(77) > m2 Then GoTo 850
a(76) = s1 - a(85) - a(90) - a(95) - a(97) - a(98) - a(99) + 2 * a(100) - a(114) + a(115) - a(118) + a(120) + a(123) + a(124) - 2 * a(125)
If a(76) < m1 Or a(76) > m2 Then GoTo 850
a(75) = a(85) + a(90) + a(97) + a(98) - 2 * a(100) + a(111) + a(114) - 2 * a(115) - a(116) + a(117) + a(118) - a(119) - a(122) - a(123) + a(125)
If a(75) < m1 Or a(75) > m2 Then GoTo 850
a(74) = a(85) + a(90) + a(96) + a(97) - 2 * a(100) + a(111) - a(115) + a(117) - a(119) - a(121) - a(122) + a(125)
If a(74) < m1 Or a(74) > m2 Then GoTo 850
a(73) = a(85) + a(90) + a(96) - a(100) + a(111) - a(113) + a(114) - a(115) - a(119) + a(120) - a(121)
If a(73) < m1 Or a(73) > m2 Then GoTo 850
a(72) = a(85) + a(90) + a(99) - a(100) + a(111) - a(112) + a(114) - a(115) - a(116) + a(120) - a(124)
If a(72) < m1 Or a(72) > m2 Then GoTo 850
a(71) = a(85) + a(90) + a(98) + a(99) - 2 * a(100) + a(114) - a(115) - a(116) + a(118) - a(123) - a(124) + a(125)
If a(71) < m1 Or a(71) > m2 Then GoTo 850
a(65) = s1 - a(85) - a(90) - a(95) - a(96) - a(99) + 2 * a(100) - a(111) - a(114) + a(115) + a(121) + a(124) - 2 * a(125)
If a(65) < m1 Or a(65) > m2 Then GoTo 850
a(64) = s1 - a(85) - a(90) - a(95) - a(98) - a(99) + 2 * a(100) - a(111) - a(114) + a(115) + a(116) - a(118) + a(123) - a(125)
If a(64) < m1 Or a(64) > m2 Then GoTo 850
a(63) = s1 - a(85) - a(90) - a(95) - a(97) - a(98) - a(99) + 3 * a(100) - a(111) - a(114) + a(115) + a(116) - a(117) - a(118) + a(120) + a(122) + a(124) - 2 * a(125)
If a(63) < m1 Or a(63) > m2 Then GoTo 850
a(62) = s1 - a(85) - a(90) - a(95) - a(96) - a(97) - a(98) + 3 * a(100) - a(111) - a(114) + a(115) - a(117) - a(118) + a(119) + a(120) + a(121) + a(123) - 2 * a(125)
If a(62) < m1 Or a(62) > m2 Then GoTo 850
a(61) = s1 - a(85) - a(90) - a(95) - a(96) - a(97) + 2 * a(100) - a(111) - a(114) + a(115) - a(117) + a(119) + a(122) - a(125)
If a(61) < m1 Or a(61) > m2 Then GoTo 850
a(50) = s1 - a(85) - a(90) - a(97) - a(98) + 2 * a(100) - a(110) - a(111) - a(114) + a(115) + a(116) - a(117) - a(118) + a(119)
If a(50) < m1 Or a(50) > m2 Then GoTo 850
a(49) = s1 - a(85) - a(90) - a(96) - a(97) + 2 * a(100) - a(110) - 2 * a(111) + a(113) - 2 * a(114) + 2 * a(115) + a(116) - a(117) - a(118) + 2 * a(119) - a(120)
If a(49) < m1 Or a(49) > m2 Then GoTo 850
a(48) = s1 - a(85) - a(90) - a(96) + a(100) - a(110) - 2 * a(111) + a(112) - a(114) + a(115) + a(116) - a(117) + a(119) - a(120)
If a(48) < m1 Or a(48) > m2 Then GoTo 850
a(47) = s1 - a(85) - a(90) - a(99) + a(100) - a(110) - a(111) + a(113) - 2 * a(114) + a(115) + a(116) - a(118) + a(119) - a(120)
If a(47) < m1 Or a(47) > m2 Then GoTo 850
a(46) = s1 - a(85) - a(90) - a(98) - a(99) + 2 * a(100) - a(110) - 2 * a(111) + a(112) - 2 * a(114) + 2 * a(115) + 2 * a(116) - a(117) - a(118) + a(119) - a(120)
If a(46) < m1 Or a(46) > m2 Then GoTo 850
a(40) = -s1 + a(85) + a(90) + a(95) + a(96) + a(99) - 2 * a(100) + a(110) + 2 * a(111) - a(112) - a(113) + 2 * a(114) - a(115) - a(116) + a(117) + a(118) - a(119) + a(120)
If a(40) < m1 Or a(40) > m2 Then GoTo 850
a(39) = -s1 + a(85) + a(90) + a(95) + a(98) + a(99) - 2 * a(100) + a(110) + a(111) - a(112) + 2 * a(114) - a(115) - a(116) + a(117) + a(118) - a(124) + a(125)
If a(39) < m1 Or a(39) > m2 Then GoTo 850
a(38) = -s1 + a(85) + a(90) + a(95) + a(97) + a(98) + a(99) - 3 * a(100) + a(110) + a(111) + 2 * a(114) - 2 * a(115) - a(116) + a(117) + 2 * a(118) - a(119) - a(123) + a(125)
If a(38) < m1 Or a(38) > m2 Then GoTo 850
a(37) = -s1 + a(85) + a(90) + a(95) + a(96) + a(97) + a(98) - 3 * a(100) + a(110) + 2 * a(111) + a(114) - 2 * a(115) - a(116) + 2 * a(117) + a(118) - a(119) - a(122) + a(125)
If a(37) < m1 Or a(37) > m2 Then GoTo 850
a(36) = -s1 + a(85) + a(90) + a(95) + a(96) + a(97) - 2 * a(100) + a(110) + 2 * a(111) - a(113) + a(114) - a(115) + a(117) + a(118) - a(119) - a(121) + a(125)
If a(36) < m1 Or a(36) > m2 Then GoTo 850
a(10) = -a(85) - a(111) + a(112) + a(113) - a(114) + a(116) + a(119) - a(120) + a(125)
If a(10) < m1 Or a(10) > m2 Then GoTo 850
a(9) = -a(85) - a(99) + a(100) + a(112) - a(114) + a(116) + a(124)
If a(9) < m1 Or a(9) > m2 Then GoTo 850
a(8) = -a(85) - a(98) + a(100) - a(114) + a(115) + a(116) - a(118) + a(119) + a(123)
If a(8) < m1 Or a(8) > m2 Then GoTo 850
a(7) = -a(85) - a(97) + a(100) - a(111) + a(115) + a(116) - a(117) + a(119) + a(122)
If a(7) < m1 Or a(7) > m2 Then GoTo 850
a(6) = -a(85) - a(96) + a(100) - a(111) + a(113) + a(119) + a(121)
If a(6) < m1 Or a(6) > m2 Then GoTo 850
a(5) = -s1 + a(85) + a(90) + a(95) + a(96) + a(97) + a(98) + a(99) - 3 * a(100) + a(111) + a(114) - a(115) + a(117) + a(118) - a(120) - a(121) - a(124) + 2 * a(125)
If a(5) < m1 Or a(5) > m2 Then GoTo 850
a(4) = -s1 + a(85) + a(90) + a(95) + a(96) + a(97) + a(98) - 2 * a(100) + a(111) + a(114) - a(115) + a(117) + a(118) - a(119) - a(123) + a(125)
If a(4) < m1 Or a(4) > m2 Then GoTo 850
a(3) = -s1 + a(85) + a(90) + a(95) + a(96) + a(97) + a(99) - 2 * a(100) + a(111) + a(114) - a(115) + a(117) - a(122) - a(124) + 2 * a(125)
If a(3) < m1 Or a(3) > m2 Then GoTo 850
a(2) = -s1 + a(85) + a(90) + a(95) + a(96) + a(98) + a(99) - 2 * a(100) + a(111) + a(114) - a(115) + a(118) - a(121) - a(123) + 2 * a(125)
If a(2) < m1 Or a(2) > m2 Then GoTo 850
a(1) = -s1 + a(85) + a(90) + a(95) + a(97) + a(98) + a(99) - 2 * a(100) + a(111) + a(114) - a(115) - a(116) + a(117) + a(118) - a(122) + a(125)
If a(1) < m1 Or a(1) > m2 Then GoTo 850

'   Exclude solutions with identical numbers in Pan Diagonals, Pan Triagonals (?)

    GoSub 800: If fl1 = 0 Then GoTo 850

    n9 = n9 + 1
    
    GoSub 1740 'Print results (selected numbers)
'   GoSub 1750 'Print results (planes 11, 12, 13, 14 and 15)
'   GoSub 1760 'Print results (3d)

850 Next j85

900 Next j90

950 Next j95

960 Next j96
970 Next j97
980 Next j98
990 Next j99
1000 Next j100

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

End
   
'    Check (Pan) Diagonals

800  fl1 = 1
     For i2 = 0 To 4
     
     For i1 = 1 To 25
        a5(i1) = a(i2 * 25 + i1)
     Next i1
         
     b(1) = a5(1): b(2) = a5(7):  b(3) = a5(13): b(4) = a5(19): b(5) = a5(25): GoSub 860: If fl1 = 0 Then Return
     b(1) = a5(2): b(2) = a5(8):  b(3) = a5(14): b(4) = a5(20): b(5) = a5(21): GoSub 860: If fl1 = 0 Then Return
     b(1) = a5(3): b(2) = a5(9):  b(3) = a5(15): b(4) = a5(16): b(5) = a5(22): GoSub 860: If fl1 = 0 Then Return
     b(1) = a5(4): b(2) = a5(10): b(3) = a5(11): b(4) = a5(17): b(5) = a5(23): GoSub 860: If fl1 = 0 Then Return
     b(1) = a5(5): b(2) = a5(6):  b(3) = a5(12): b(4) = a5(18): b(5) = a5(24): GoSub 860: If fl1 = 0 Then Return
        
     b(1) = a5(5): b(2) = a5(9):  b(3) = a5(13): b(4) = a5(17): b(5) = a5(21): GoSub 860: If fl1 = 0 Then Return
     b(1) = a5(4): b(2) = a5(8):  b(3) = a5(12): b(4) = a5(16): b(5) = a5(25): GoSub 860: If fl1 = 0 Then Return
     b(1) = a5(3): b(2) = a5(7):  b(3) = a5(11): b(4) = a5(20): b(5) = a5(24): GoSub 860: If fl1 = 0 Then Return
     b(1) = a5(2): b(2) = a5(6):  b(3) = a5(15): b(4) = a5(19): b(5) = a5(23): GoSub 860: If fl1 = 0 Then Return
     b(1) = a5(1): b(2) = a5(10): b(3) = a5(14): b(4) = a5(18): b(5) = a5(22): GoSub 860: If fl1 = 0 Then Return
          
     Next i2
     
     Return
   
860 fl1 = 1
    For j1 = 1 To 5
       b2 = b(j1)
       For j2 = (1 + j1) To 5
           If b2 = b(j2) Then fl1 = 0: Return
       Next j2
    Next j1
    Return

'    Print results (selected numbers)

1740 Cells(n9, 125).Select
     For i1 = 1 To 125
         Cells(n9, i1).Value = a(i1)
     Next i1
    
     Return

'    Print results (planes 11, 12, 13, 14 and 15)

1750 n2 = n2 + 1
     If n2 = 7 Then
         n2 = 1: k1 = k1 + 30: k2 = 1
     Else
         If n9 > 1 Then k2 = k2 + 6
     End If
       
     For i0 = 1 To 5
         i3 = (5 - i0) * 25
         For i1 = 1 To 5
             For i2 = 1 To 5
                 i3 = i3 + 1
                 Cells(k1 + i1 + (i0 - 1) * 6, k2 + i2).Value = a(i3)
             Next i2
         Next i1
         If i0 = 1 Then
             Cells(k1 + (i0 - 1) * 6, k2 + 1).Value = "Plane 1" + CStr(i0) + ", C" + CStr(n9)
         Else
             Cells(k1 + (i0 - 1) * 6, k2 + 1).Value = "Plane 1" + CStr(i0)
         End If
     Next i0
    
     Return

'    Print results (3d)
    
1760 n2 = n2 + 1
     If n2 = 4 Then
         n2 = 1: k1 = k1 + 46: k2 = 1
     Else
         If n9 > 1 Then k2 = k2 + 22
     End If
       
     For i0 = 1 To 5
         i3 = (5 - i0) * 25
         For i1 = 1 To 5
             For i2 = 1 To 5
                 i3 = i3 + 1
                 Cells(k1 + 1 + (i1 - 1) * 2 + (i0 - 1) * 9, k2 + 9 + (i2 - 1) * 3 - (i1 - 1) * 2).Value = a(i3)
             Next i2
         Next i1
     Next i0

     Return

End Sub

Vorige Pagina About the Author