Ah-ha! Allowing for integer division instead of floating division I can:
Find a unique set of 9 digits that will produce = 8 in equations 2, 3 and 5
PLUS get the other equations all below 10 ie single digits!!!
There are 3 solutions like this (like in Danilin's problem) AND 1 is darn close to:
e(1) = 4
e(2) = 8
e(3) = 8
e(4) = 9
e(5) = 8
e(6) = 6
I have solved a harder problem than Danilin's
Oh look no Goto's b+LOL
Find a unique set of 9 digits that will produce = 8 in equations 2, 3 and 5
PLUS get the other equations all below 10 ie single digits!!!
There are 3 solutions like this (like in Danilin's problem) AND 1 is darn close to:
e(1) = 4
e(2) = 8
e(3) = 8
e(4) = 9
e(5) = 8
e(6) = 6
Code: (Select All)
index, record is 71038 829413657 e()'s match #1
8 * 2 - 9 = 7
4 + 1 + 3 = 8
6 \ 5 + 7 = 8
8 \ 4 + 6 = 8
2 + 1 + 5 = 8
9 + 3 - 7 = 5
index, record is 71158 829314657 e()'s match #2
8 * 2 - 9 = 7
3 + 1 + 4 = 8
6 \ 5 + 7 = 8
8 \ 3 + 6 = 8
2 + 1 + 5 = 8
9 + 4 - 7 = 6
index, record is 151676 629413857 e()'s match #3
6 * 2 - 9 = 3
4 + 1 + 3 = 8
8 \ 5 + 7 = 8
6 \ 4 + 8 = 9
2 + 1 + 5 = 8
9 + 3 - 7 = 5I have solved a harder problem than Danilin's

Code: (Select All)
_Title "Alternate Danlin problem 2" 'b+ 2026-02-28
' 2026-02-27 mod for RA file
Dim record As String * 9
Dim c(1 To 9) As Integer
Dim e(1 To 6) As Integer
Open "9 permutations.RA" For Random As #1 Len = 9
Open "Match e2 with e3 and e5 = 8 for unique 9 digitsets.dat" For Output As #2
Do Until index = 362880
index = index + 1
Get #1, index, record
For i = 1 To 9
c(i) = Val(Mid$(record, i, 1))
Next
e(1) = c(1) * c(2) - c(3) '4
e(2) = c(4) + c(5) + c(6) '8 match e(2)
e(3) = c(7) \ c(8) + c(9) '8 match with e(3)
e(4) = c(1) \ c(4) + c(7) '9
e(5) = c(2) + c(5) + c(8) '8 match and with e(5)
e(6) = c(3) + c(6) - c(9) '6
If e(2) = 8 _AndAlso e(3) = 8 _AndAlso e(5) = 8 Then
If e(1) < 10 _AndAlso e(4) < 10 _AndAlso e(6) < 10 Then
count = count + 1
Print #2, "index, record is"; index, record, "e()'s match #"; _Trim$(Str$(count))
Print #2, c(1); " *"; c(2); " -"; c(3); " ="; c(1) * c(2) - c(3)
Print #2, c(4); " +"; c(5); " +"; c(6); " ="; c(4) + c(5) + c(6)
Print #2, c(7); " \"; c(8); " +"; c(9); " ="; c(7) \ c(8) + c(9)
Print #2, c(1); " \"; c(4); " +"; c(7); " ="; c(1) \ c(4) + c(7)
Print #2, c(2); " +"; c(5); " +"; c(8); " ="; c(2) + c(5) + c(8)
Print #2, c(3); " +"; c(6); " -"; c(9); " ="; c(3) + c(6) - c(9)
Print #2, ""
End If
End If
Loop
Oh look no Goto's b+LOL
724 855 599 923 575 468 400 206 147 564 878 823 652 556 bxor cross forever

