Replace the interrogation marks in the following statements by appropriate digits (0 to 9) to make these statements valid:
D1: 34?561? is exactly divisible by 45
D2: 68??37 is exactly divisible by 99
D3: 9???057 is equal to 417 times ?1???
D3: 70??34? is exactly divisible by 792
D4: 4?18? is exactly divisible by 101
D5: 6?80?8??51 is exactly divisible by 73*137
The first one is easy enough (D1 it says) to get by hand. The digits already given add up to 19 and must be supplemented to get to a multiple of 9 (like 27), and be such that the last digit is 0 or 5. If the last digit is 0, the first ? must be replaced by 8. If the last digit is 5, the first ? must be replaced by a 3.
The computer solution agrees with that double solution for the first problem. All the others have just one solution each, the third one also calling for two answers: the number and the quotient when divided by 417.
3435615
3485610
689337
9141057 21921
7054344
49187
6780187951
The Frink program:
for a=0 to 9
{
for b=0 to 5 step 5
{
n=3405610 + a*10000+b
if n%45==0
println[n]
}
}
println[]
for a=0 to 99
{
n=680037 + a*100
if n%99==0
println[n]
}
println[]
for a=0 to 999
{
n=9000057+a*1000
if n%417 ==0
{
q=n/417
tst=int[q/1000]%10
if tst==1
println["$n $q"]
}
}
println[]
for a=0 to 99
{
for b=0 to 8 step 2
{
n=7000340 + a*1000+b
if n%792==0
println[n]
}
}
println[]
for a=0 to 9
{
for b=0 to 9
{
n=40180 + a*1000+b
if n%101==0
println[n]
}
}
println[]
for a=0 to 9
{
for b=0 to 9
for c=0 to 99
{
n=6080080051 + a*100000000+b*100000+c*100
if n%(73*137)==0
println[n]
}
}
println[]

Posted by Charlie
on 20110606 14:17:37 