There is only one word in the English
language , replacing the
? sign in the alphametic
seventeen + seventeen = ?
to make it uniquely solvable.
Find this word.
The solutions for SEVENTEEN and twice SEVENTEEN appear to the left of the replacement for ?:
103074007 206148014 yeastiest
104039003 208078006 jewelweed
160628662 321257324 insnaring
205039003 410078006 freewheel
309028002 618056004 waterweed
403076007 806152014 betrayers
403079007 806158014 degraders
458517551 917035102 antigenic
done
DefDbl A-Z
Dim crlf$, used(9)
Private Sub Form_Load()
Form1.Visible = True
Text1.Text = ""
crlf = Chr$(13) + Chr$(10)
For s = 1 To 9
used(s) = 1
For e = 0 To 9
If used(e) = 0 Then
used(e) = 1
For v = 0 To 9
If used(v) = 0 Then
used(v) = 1
For n = 0 To 9
If used(n) = 0 Then
used(n) = 1
For t = 0 To 9
DoEvents
If used(t) = 0 Then
used(t) = 1
seventeen = 100000000 * s + 10100110 * e + 1000000 * v + 10001 * n + 1000 * t
ss$ = LTrim(Str(2 * seventeen))
diffLet = 1
For i = 2 To Len(ss)
If InStr(ss, Mid(ss, i, 1)) = i Then diffLet = diffLet + 1
Next
l = Len(ss)
w$ = Space$(l)
Open "c:\words\words" + LTrim(Str(l)) + ".txt" For Binary As #1
Do
Get #1, , w
If EOF(1) Then Exit Do
diffLetw = 1
For i = 2 To l
If InStr(w, Mid(w, i, 1)) = i Then diffLetw = diffLetw + 1
Next
If diffLetw = diffLet Then
good = 1
For i = 1 To l
If InStr(w, Mid(w, i, 1)) <> InStr(ss, Mid(ss, i, 1)) Then good = 0: Exit For
Next
If good Then
ix = InStr(w, "s"): If ix Then If Val(Mid(ss, ix, 1)) <> s Then good = 0
ix = InStr(w, "e"): If ix Then If Val(Mid(ss, ix, 1)) <> e Then good = 0
ix = InStr(w, "v"): If ix Then If Val(Mid(ss, ix, 1)) <> v Then good = 0
ix = InStr(w, "n"): If ix Then If Val(Mid(ss, ix, 1)) <> n Then good = 0
ix = InStr(w, "t"): If ix Then If Val(Mid(ss, ix, 1)) <> t Then good = 0
If good Then
sstr$ = LTrim(Str(s))
ix = InStr(ss, sstr): If ix Then If Mid(w, ix, 1) <> "s" Then good = 0
sstr$ = LTrim(Str(e))
ix = InStr(ss, sstr): If ix Then If Mid(w, ix, 1) <> "e" Then good = 0
sstr$ = LTrim(Str(v))
ix = InStr(ss, sstr): If ix Then If Mid(w, ix, 1) <> "v" Then good = 0
sstr$ = LTrim(Str(n))
ix = InStr(ss, sstr): If ix Then If Mid(w, ix, 1) <> "n" Then good = 0
sstr$ = LTrim(Str(t))
ix = InStr(ss, sstr): If ix Then If Mid(w, ix, 1) <> "t" Then good = 0
If good Then
Text1.Text = Text1.Text & seventeen & Str(2 * seventeen) & " " & w & crlf
End If
End If
End If
End If
Loop
Close 1
used(t) = 0
End If
Next
used(n) = 0
End If
Next
used(v) = 0
End If
Next
used(e) = 0
End If
Next
used(s) = 0
Next
Text1.Text = Text1.Text & crlf & " done"
End Sub
|
Posted by Charlie
on 2015-09-25 16:15:56 |