function price=bin(S0,K,r,sigma,T,N)
u=exp(sigma*(T/N)^0.5)
d=1/u
e=exp(r*(T/N))
p=(e-d)/(u-d)
S(1,1)=S0
for t=2:N
for j=1:t
S(t,j)=S0*(u^t)(d^j)
end
end
for t=1:N
for j=1:t
V(N,j)=max(K-S(N,j),0)
end
end
for t=N:-1:1
for j=1:t
V(t,j)=max(max(K-S0*S(t,j),exp(-r*t)*(p*V(t+1,j+1)+(1-p)*V(t+1,j))
end
price=V(1,1)