private boolean getNextInt(int input[], int result[], int pos){
        if(pos == input.length-1){
            int higher = getHigherNumber(input[pos]+1,pos,input.length);
            if(higher == -1){
                return false;
            }else{
                result[pos] = input[pos]+1;
                return true;
            }
        }
        
        if(pos != 0 && input[pos] <= input[pos-1]){
            int higher = getHigherNumber(input[pos-1] +1,pos,input.length);
            if(higher == -1){
                return false;
            }else{
                fillRestOfArray(result, pos, input[pos-1]+1);
                return true;
            }
        }
        if(input[pos] + (input.length - 1 -pos) <=9){
            result[pos] = input[pos];
            boolean flag = getNextInt(input,result,pos+1);
            if(flag){
                return true;
            }
            int higher = getHigherNumber(input[pos]+1,pos,input.length);
            if(higher == -1){
                return false;
            }else{
                fillRestOfArray(result,pos,input[pos]+1);
                return true;
            }
            
        }else{
            return false;
        }
        
    }
http://www.careercup.com/question?id=4857362737266688
Test cases : 
6 2 3 -> 6 7 8
1 2 3 -> 1 2 4
1,7,9 -> 1,8,9
1,8,9 -> 2,3,4
9,8,7 -> 1,2,3,4
2,6   -> 2,7
src/com/interview/number/SmallestNumberGreaterThanGiveNumberIncreasingSequence.java