We present two new algorithms for solving the All Pairs Shortest Paths (APSP) problem for weighted directed graphs. Both algorithms use fast matrix multiplication algorithms.The first algorithm solves the APSP problem for weighted directed graphs in which the edge weights are integers of small absolute value inÕ(n 2+µ ) time, where µ satisfies the equation ω(1, µ, 1) = 1 + 2µ and ω(1, µ, 1) is the exponent of the multiplication of an n × n µ matrix by an n µ × n matrix. Currently, the best available bounds on ω(1, µ, 1), obtained by Coppersmith, imply that µ < 0.575. The running time of our algorithm is therefore O(n 2.575 ). Our algorithm improves on theÕ(n (3+ω)/2 ) time algorithm, where ω = ω(1, 1, 1) < 2.376 is the usual exponent of matrix multiplication, obtained by Alon, Galil and Margalit, whose running time is only known to be O(n 2.688 ).The second algorithm solves the APSP problem almost exactly for directed graphs with arbitrary nonnegative real weights. The algorithm runs inÕ((n ω /ǫ) log(W/ǫ)) time, where ǫ > 0 is an error parameter and W is the largest edge weight in the graph, after the edge weights are scaled so that the smallest non-zero edge weight in the graph is 1. It returns estimates of all the distances in the graph with a stretch of at most 1 + ǫ. Corresponding paths can also be found efficiently.