Usage: 
{s,op,optionprice}=bitree(s0,k,i,sig,t,n,vers,opt,typeofdiv {,div}) or
{s,op,optionprice}=bitree(vers,typeofdiv) or
{s,op,optionprice}=bitree()

Input: 
 s0  scalar, the price of the underlying asset

 k  scalar, the exercise price

 i  scalar, domestic interest rate

 sig  scalar, yearly volatility

 t  scalar, time to expiration (in years)

 n  scalar, number of steps

 vers  scalar, if
vers = 0, a European option (default)
vers = 1, an American option is assumed

 opt  scalar, if
opt = 0, a call option (default)
opt = 1, a put option is assumed

 typeofdiv  scalar, if
typeofdiv = 1, no dividend is paid (default),
typeofdiv = 2, dividend is paid continuously,
typeofdiv = 3, dividend payment "in % of the stock value", or
typeofdiv = 4, fixed dividends are paid

 div  if
typeofdiv == 1, div is considered as 0;
typeofdiv == 2, div is a scalar determining the
continuous dividend rate;
typeofdiv == 3 or 4, div is a (m x 2) matrix,
with the first column containing the time (in years) of the m dividend payments
and the second column consisting of m dividends' ratios or amounts.

 bitree() (i.e., usage without input parameters)  Several interactive select windows will be opened, where
user can specify features and characteristics of options.
First window:
Price of Underlying Asset,
Exercise Price,
Domestic Interest Rate per Year,
Volatility per Year,
Time to Expiration (Years),
Number of steps
Second window (Dividend type):
No dividend,
Continuous dividend,
Discrete dividend as fixed percentage of stock,
Discrete dividends as fixed amount
Third window (Option type):
Call
Put
Fourth window:
European
American

Output: 
 s  (n+1) x (n+1) matrix (upper triangular), possible stock prices 
 op  (n+1) x (n+1) matrix (upper triangular), option values at each step 
 optionprice  scalar, the option price at time 0 