Помогите додуматься

такое задание: сделать расчет Х и У через математические формулы но при этом в функцию которая все это рассчитывает должен передаваться только номер элемента.
Если повернуть матрицу против часовой стрелки то вроде становится понятнее как строится алгоритм. Тогда координата строки будет означать кол-во итераций вправо или влево. Но вот какая формула будет рассчитывать номер строки?

строки идут от 0 до 6, а рассчитываться они по идее должны так

только первое число это номер в последовательности, а второе как то должно рассчитываться, скорее всего от номера столбца.
Я так понял нужны 3 функции для реализации этого алгоритма. До диагонали, сама диагональ и после диагонали.