Question(s) regarding computational intensity, prediction of time required to produce a result
Graph q vs time
Fit a curve,
Extrapolate to q = 36.

You might want to also graph q vs log(time) as that may give an easier fitted curve.
Introduction
I have written code to give me a set of numbers in '36 by q' format ( 1<= q <= 36), subject to following conditions:

Each row must use numbers from 1 to 36.
No number must repeat itself in a column.

Method
The first row is generated randomly. Each number in the coming row is checked for the above conditions. If a number fails to satisfy one of the given conditions, it doesn't get picked again fot that specific place in that specific row. If it runs out of acceptable values, it starts over again.
Problem
Unlike for low q values (say 15 which takes less than a second to compute), the main objective is q=36. It has been more than 24hrs since it started to run for q=36 on my PC.
Questions

Can I predict the time required by it using the data I have from lower q values? How?

Is there any better algorithm to perform this in less time?

How can I calculate the average number of cycles it requires? (using combinatorics or otherwise).