This paper introduces the minimum-time arbitrarily constrained distributed scheduling problem. The optimal distributed nonsequential backtracking algorithm is used by agents to schedule tasks where the tasks are related by constraints and where the assignment of tasks to agents may change during scheduling. The problem is distributed in that no agent has full knowledge either of the communication network or of the scheduling constraints. Each agent knows the assignments of the agents with which it can communicate and the scheduled times of the tasks assigned to those agents. The minimum-time arbitrarily constrained distributed scheduling problem is for the agents to use this local knowledge to find a schedule that satisfies all constraints and minimizes the time needed to complete all tasks. The optimal distributed nonsequential backtracking algorithm is able to find minimum-time schedules that satisfy all constraints. This algorithm is designed to work concurrently with a distributed assignment algorithm that satisfies certain communication requirements detailed in this paper. This paper presents proof of the algorithm's correctness, completeness, and optimality.