20/08/30 09:14:11.01 PmkFybrl.net
import Data.Complex
onCircle (a,b,c,d) = (<0.01) $ abs $ imagPart $ ((d-a)/(c-a))/((d-b)/(c-b))
ps = [x:+y | x<-[0..2],y<-[0..2]]
cands = [(ps!!a,ps!!b,ps!!c,ps!!d) |
a<-[0..8],b<-[a+1..8],c<-[b+1..8],d<-[c+1..8]
]
main = print $ length $ [p|p<-cands, onCircle
---
14