Общий принцип поиска пересечений на двух таких графиках - преобразовать их в один общий список (время начала/конца интервала, код), где код +1 обозначает начало интервала, -1 конец интервала. Затем отсортировать список по времени и пройти по нему считая промежуточную сумму кодов. Там, где сумма становится равной 2 - начинается совпадающий период.
Дальше решение зависит от множества других условий, например минимальной и максимальной продолжительности занятия репетитора с одним учеником, где проводятся занятия - в одном месте, или репетитору надо ездить по ученикам.
Прямого решения здесь может и не быть, по темам "составление расписания занятий" люди дипломные работы пишут.