Arbitrage is the use of discrepancies in currency exchange rates to transform one unit of currency into more than one unit of the same currency. For example, suppose that 1 U.S. dollar buys 46.4 Indian Rupees (good old days :-( ...), 1 Indian Rupee buys 2.5 Japanese yen, and 1 Japanese yen buys 0.0091 U.S dollars. Then, we convert currencies as follows :

Start with 100 US dollars. This gives you 46.4*100 = 4640 Indian Rupees. Now convert these rupees to Japanese yen. Since 1 Indian Rupee is 2.5 yens we get 2.5*4640 = 11600 yens. Now convert these yens back to dollars, to get 0.0091*11600 = 105.56 dollars, thus making a profit of 5.56 %.

As simple as that !! Just another way to make easy money :-)

Source of Inspiration - CLR Problem No 24-3, Page 615. Given all exchange rates, we can use dijkstra's to calculate those sequence of currencies such that their arbitrage is more than 1.