After creating the puzzle,
I use Haskell to check how many solution it have.
This code is very effective, it find the answer less than a second.
cek angka logic himp = if logic == 1
then angka == sum himp
else angka /= sum himp
findit = [[a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y]|
let hmp = [0,1],
let aa = 3, let bb = 2, let cc = 1, let dd = 4, let ee = 1,
let ff = 2, let gg = 3, let hh = 3, let ii = 3, let jj = 3,
let kk = 3, let ll = 4, let mm = 6, let nn = 4, let oo = 4,
let pp = 2, let qq = 3, let rr = 4, let ss = 4, let tt = 3,
let uu = 1, let vv = 1, let ww = 2, let xx = 4, let yy = 3,
a<-hmp, b<-hmp,f<-hmp,g<-hmp,
cek aa a [b,f,g],
c<-hmp,h<-hmp,
cek bb b [a,f,g,h,c],
d<-hmp, i <-hmp,
cek cc c [b,g,h,i,d],
e<-hmp, j<-hmp,
cek dd d [c,h,i,e,j],
cek ee e [d,i,j],
k<-hmp,l<-hmp,
cek ff f [a,b,g,k,l],
m<-hmp,
cek gg g [a,b,c,f,h,k,l,m],
n<-hmp,
cek hh h [b,c,d,g,i,l,m,n],
o<-hmp,
cek ii i [c,d,e,h,j,m,n,o],
cek jj j [d,e,i,n,o],
p<-hmp,q<-hmp,
cek kk k [f,g,l,p,q],
r<-hmp,
cek ll l [f,g,h,k,m,p,q,r],
s<-hmp,
cek mm m [g,h,i,l,n,q,r,s],
t<-hmp,
cek nn n [h,i,j,m,o,r,s,t],
cek oo o [i,j,n,s,t],
u<-hmp,v<-hmp,
cek pp p [k,l,q,u,v],
w<-hmp,
cek qq q [k,l,m,p,r,u,v,w],
x<-hmp,
cek rr r [l,m,n,q,s,v,w,x],
y<-hmp,
cek ss s [m,n,o,r,t,w,x,y],
cek tt t [n,o,s,x,y],
cek uu u [p,q,v],
cek vv v [p,q,r,u,w],
cek ww w [q,r,s,v,x],
cek xx x [r,s,t,w,y],
cek yy y [s,t,x],
True]