British energy giant Shell plc has agreed to buy Calgary-based energy company ARC Resources in a deal worth US$16.4 billion, including debt.