program enigma14962 integer::x,o,i,n=0 integer::xs,os real::y integer::d1,d2,d3,d4,d5,d6,d7,d8 integer::o1,o2,o3,o4,o5,o6,o7,o8 do i=00000000,50000000 x=i n=n+1 xs=x if (n==1000001) then print *,'checking', x n=1 end if y=x/10000000 d1=int(aint(y)) x=x-d1*10000000 y=x/1000000 d2=int(aint(y)) x=x-d2*1000000 y=x/100000 d3=int(aint(y)) x=x-d3*100000 y=x/10000 d4=int(aint(y)) x=x-d4*10000 y=x/1000 d5=int(aint(y)) x=x-d5*1000 y=x/100 d6=int(aint(y)) x=x-d6*100 y=x/10 d7=int(aint(y)) x=x-d7*10 y=x/1 d8=int(aint(y)) x=x-d8*1 if (d3==d5.and.d3/=d4.and.d3/=d6.and.d4/=d6) then o=2*xs os=o y=o/10000000 o1=int(aint(y)) o=o-o1*10000000 y=o/1000000 o2=int(aint(y)) o=o-o2*1000000 y=o/100000 o3=int(aint(y)) o=o-o3*100000 y=o/10000 o4=int(aint(y)) o=o-o4*10000 y=o/1000 o5=int(aint(y)) o=o-o5*1000 y=o/100 o6=int(aint(y)) o=o-o6*100 y=o/10 o7=int(aint(y)) o=o-o7*10 y=o/1 o8=int(aint(y)) o=o-o8*1 if (o1==o7.and.o2==d4.and.o8==d3.and.o8==d5.and.o1/=o3 & .and.o1/=o4.and.o1/=o5.and.o2/=o3.and.o2/=o4.and.o2/=o5 & .and.o8/=o3.and.o8/=o4.and.o8/=o5.and.o3/=o4.and.o3/=o5 & .and.o4/=o5.and.o1==d6.and.o1/=0 .and.o1==o6) then print *,'OK',xs,os pause end if end if end do pause end program enigma14962