What is the best algorithm to match a student's schedule with a tutor's schedule?
This sounds like an instance of the assignment problem (see also our tag).  You can also view it as a bipartite matching problem.  There are standard algorithms for these problems; I suggest you use one of them.  Hopcroft-Karp is one of those standard algorithms.  I suggest that you either look for an existing implementation of one of those algorithms, or study them and implement themselves.

Expressing this as a network flow algorithm or as an instance of linear programming might provide extra flexibility to deal with additional constraints.

The specifics of how to express your problem as an instance of these problems will depend on the specific constraints you want to impose (e.g., is there a limit on the number of students you want to assign each tutor to?  is it ok to limit things to a set of non-overlapping 90-minute time slots?), which you haven't specified in the question, so it's hard for us to say much more.

I suggest you try applying one of those approaches to your specific problem, study one of the standard algorithms, and if you get stuck understanding some specific aspect of the problem, ask a new question where you ask about that specific difficulty.