      subroutine FndInt ( n, array, value, start, find )
      real*8    array(n)
      real*8    value
      integer high, low, find, start
      high = n
      low = 1
      IF ( value .lt. array(1) ) THEN
         find = 0
         return
      ELSE IF ( value .ge. array(n) ) THEN
         find = n
         return
      END IF
      look = min ( n, max(1,start) )
      IF ( value .lt. array(look) ) THEN
         high = look
         IF ( value .lt. array(high-1) ) THEN
            high = high - 1
         ELSE
            find = high - 1
            return
         END IF
      ELSE
         low = look
         IF ( value .lt. array(low+1) ) THEN
            find = low
            return
         ELSE
            low = low + 1
            IF ( value .lt. array(low+1) ) THEN
               find = low
               return
            ELSE
               low = low + 1
            END IF
         END IF
      END IF
      look = (high + low)/2
      look = min(high-1, look)
      look = max(low +1, look)
    1 continue
      IF ( high - low .eq. 1 ) THEN
         find = low
         return
      ELSE
         IF ( value .lt. array(look) ) THEN
            high = look
         ELSE
            low = look
         END IF
         look = (high + low)/2
         look = min(high-1, look)
         look = max(low +1, look)
      END IF
      go to 1
      end
