ax^2+bx+c=0 problem

#!/bin/sh

entering_number() {
    echo "Please enter $1"
    read N
    if [[ -z $N ]] then
        echo "$1 must not be blank"
        return 1
    else
    	if [[ ! $N =~ ^([-])?([0-9]*[.])?[0-9]*$ ]] then
            echo "$1 is not a number"
            return 1
        fi
    fi
    case $1 in
        "A")
        A=$N
        ;;
        "B")
        B=$N
        ;;
        "C")
        C=$N
        ;;
    esac
    return 0
}

echo "ax^2 + bx + c = 0 problem solver program"

A=0
B=0
C=0

# Typing procedure
while true; do
    if ! entering_number "A" || ! entering_number "B" || ! entering_number "C"; then
        continue
    fi
    break
done

# Calculating

if [[ $A == 0 ]] then
    echo "(a=0) x = -c/b"
    echo "x = -$C/$B"
    echo "scale=3;-$C/$B" | bc
else
    DELTA=$(($B**2 - 4*$A*$C))
    echo "delta = $B^2-4*$A*$C = $DELTA"
    if [[ DELTA -eq 0 ]] then
        echo -n "x = -b/2a = -$B/(2*$A) = " ; echo $((-$B/(2*$A)))
    elif [[ DELTA -lt 0 ]] then
        echo "No solution because delta less than 0"
    else
        echo "(delta>0)"
        echo -n "x1 = (-b+sqrt(delta))/(2a) = (-$B+sqrt($DELTA))/(2*$A) ="
        echo "scale=3;(-$B+sqrt($DELTA))/(2*$A)" | bc
        echo -n "x2 = (-b-sqrt(delta))/(2a) = (-$B-sqrt($DELTA))/(2*$A) ="
        echo "scale=3;(-$B-sqrt($DELTA))/(2*$A)" | bc
    fi
fi

RegEx code to validate a number

"^([-])?([0-9]+[.])?([0-9]+)?$"