Notes:
1. In my opinion this is too hard for a real GMAT question.
2. The following explanation is long for the sake of clarity, but the solution doesn't take that long once you see the pattern for how to handle the double-counting.
Here is why:
The overall strategy is to count the number of ways to arrange abcdabcd with no restrictions and then subtract out any ones where adjacent letters match. I think we all agree that the first part is 8!/16 or 2520, so let's focus on counting the cases where adjacent letters match (the part in parentheses above).
First, some sequences will have exactly one pair of adjacent letters such as aabcdbcd some will have two, such as aabbcdcd, some will have 3 daabbccd, and some will have 4, aabbccdd. Let's agree to call a sequence with exactly n adjacent matching pairs Sn. So S1 will mean sequences like aabcdbcd with exactly one adjacent pair matching, up to S4 which will represent cases like aabbccdd where exactly 4 adjacent pairs are matching. The trick is not double counting any of them when you count up how many there are of each.
We can count the ones that have at least one match as follows:
1. Choose one of the four letters a,b,c,d, and merge or "club" the two letters together. If you choose a, it would be like Abbccdd, with capital A representing the grouping of two lowercase a's. We can arrange this 7!/(2!2!2!) ways, with the 2!2!2! there to divide out the repeats. There are 4C1 ways to choose the letter treat as one, so there are 4C1(7!/(2!^3)) ways. This explains the first term within the parentheses. But note that this counts some of the sequences multiple times. For example, when you club the a's, you will count sequences such as aabbcdcd, but you will also count this sequence when you club the b's. Something like daabbccd will get counted three times because it will get counted once each time you club the a's b's and c's. With this logic, the number of time's we're counting the S1,S2,S3,S4 is as follows:
S1=1
S2=2
S3=3
S4=4
but we only want to count each of these once. So we need to subtract.
2. Count how many ways you can have two or more adjacent matching pairs:
By similar logic to above, we can choose the 2 letters in 4C2 ways, and then there will be 6!/2!^2 ways to arrange the letters. so 4C2*6!/2!^2 ways to have at least two adjacent matching pairs. This will count the S3's 3 times each and the S4's 6 times each. To see why, note that each S4 will be counted for any two letters you club together, so each one gets counted 4C2=6 ways total. Likewise, the S3's get counted 3C2=3 ways. Because, for example something like daabbccd gets counted when you club 1. a's and b's, 2. b's and c's, and 3. a's and c's as 1. dABccd 2. daaBCd 3. dAbbCd respectively. So, if we subtract out the ones with at least 2, we now have the following count:
S1=1
S2=1
S3=0
S4=-2
So we're making progress, but now S3's arent counted at all and S4's are being counted negative times. So we need to add some stuff in.
3. Count the number of ways to have at least 3 matches: 4C3*5!/2!. This counts The number of S3's one time and the number of S4's 4 times. Add this number in and we have the following count:
S1=1
S2=1
S3=1
S4=2
Now we're just about done, but we need to subtract the number of ways to have 4 matching pairs which is just 4!, and our count is perfect:
S1=1
S2=1
S3=1
S4=1
So we start with the term from number 1, subtract the term from number 2, add the term from number 3, and subtract the term from number 4 to get the number of unique sequences that have at least one adjacent matching pair. subtract this from 2520 to get 864.