Most bike-sharing service providers offer a free ride for a short time period. In this paper, we study how to find the optimal route that is free of rental cost and minimizes the trip distance from one location to another within a bike-sharing system, in which the utilization of bike stations dynamically changes over time. We use a time-dependent dynamic graph to model the network of bike stations. In the graph, each vertex represents a bike station and is associated with a vertex-usage function. The difficulty of this problem is mainly attributed to the fluctuation of the usage function because a fully utilized station cannot accept returned bikes. Efficiency is another challenge, as we must explore all possible paths between the source and the destination. To address these challenges, we propose techniques to find a solution optimized for efficiency. First, to reduce the search space, we construct a station network graph on top of a road network. Next, we employ a pathstree to identify all the paths with lengths less than the userpreferred maximum detour distance and we select an optimal path toward the destination. We present the design details of our algorithms and we analyze the algorithms' correctness and complexity. To demonstrate the feasibility of our methods, we also report the results from the extensive experiments we conducted.