The price of a pint of a Guinness will be reduced from £3.60 to £3.15 in more than 670 pubs.