function gcd(){
    local x=$1
    local y=$2
    if((x<y))
    then
        local t=$x
        x=$y
        y=$t
    fi
    while((x%y))
    do
        local t=$y
        y=$((x%y))
        x=$t
    done
    echo $y
}
read n x0
read -a xarr
xarr+=($x0)
xarr=(`echo ${xarr[@]} | tr ' ' '\n' | sort -n`)
d=$((xarr[1]-xarr[0]))
tx=${xarr[1]}
xarr[0]=""
xarr[1]=""
for x in ${xarr[@]}
do
    d=`gcd $d $((x-tx))`
    tx=$x
done
echo $d