Ответ найден если кому то интересно, то вот он:
двигаемся справа налево в поисках цифры которая будет меньше предыдущей. Например для 534976 это будет 4. Затем справа от этой цифры ищем наименьшее число которое будет больше этой цифры (> 4) в данном случае это 6>4.Поменяйте их местами. Получим 536974, затем отсортируйте по возрастанию числа после 6 (в данном случае 974 => 479) получим искомое число 536479